Search content
Sort by

Showing 13 of 13 results by xx879
Post
Topic
Board Exchanges
Re: eXch - instant exchange BTC / LN / XMR / LTC / ETH / ERC20
by
xx879
on 12/06/2025, 04:36:28 UTC
OFFICIAL ANNOUNCEMENT

It's time, friends.

eXch will officially shutdown its operations effective May 1st, 2025.

Almost all of you know that eXch started as a project aimed at demonstrating to the community that alternatives can exist during times when there were none. We have never had any financial goals with this project and rather, we conducted an experiment that was unexpectedly successful.

Recently, we received confirmation of information we had previously, thanks to some friends we have even in the state intelligence sector, that our project is the subject of an active transatlantic operation aimed at forcibly shutting our project down and prosecuting us for "money laundering and terrorism."

Even though we have been able to operate despite some failed attempts to shutdown our infrastructure (attempts that have also been confirmed to be part of this operation), we don't see any point in operating in a hostile environment where we are the target of SIGINT simply because some people misinterpret our goals. Starting from the date of the merger with a new management team this month, and as a result of some urgent meetings, the majority of us voted to cease and retreat instead of going against strong winds, because none of us want to cause any harm to innocent people or this forum.

The goals we certainly never had in mind were to enable illicit activities such as money laundering or terrorism, as we are being accused of now. We also have absolutely no motivation to operate a project where we are viewed as criminals. This doesn't make any sense to us.

Originally, we were just a team of privacy enthusiasts with main areas of interest quite distant from cryptocurrency, where we saw the absolutely unfair happenings. This project was an attempt to restore balance in this industry.

Our project has demonstrated that an instant exchange done properly can be more effective than any centralized mixer in terms of privacy, which is why it has been referred to as "a mixer" many times by third parties, even though we have continuously rejected this label.

Our project has shown that it's possible to operate without abusing customers with nonsensical policies, unlike projects that will accept this announcement as a "weight lifted off their shoulders" that pretend to believe the false idea that confiscating crypto from customers somehow prevents "money laundering", who rely on random and unreliable scoring systems created and operated by companies that are parasites aiming to extract money from their governments by providing consulting based on the segregation of the crypto space and blockchain data. If we were to look at these projects from the perspective of "preventing money laundering and terrorism financing", any instant exchangers that screen their customer deposits using third-party APIs and appeal to nonsensical AML/KYC terms are far from preventing money laundering and terrorism. If they were serious about this, they would need to stop hiding behind shelf offshore companies and start conducting strict due diligence on every customer, which none of them do in reality. The absurdity is compounded by the absolute uselessness of the address score reporting APIs they use, as any of these screening mechanisms can be easily bypassed.

Our project will also demonstrate that even without it, this space will continue to have ways and instruments for those engaging in illicit activities to effectively "launder" their funds. Thus, the goal of stopping eXch under the belief that it may stop all money laundering in the world is ridiculous.

Meanwhile, our project effectively provided privacy to all our customers and even anonymity to most. However, there are still far more effective ways to achieve it, thanks to these flagship projects that exist nowadays:

- Monero, with its total privacy, although not without some recently discovered issues that are serious and should be fixed with the Full-Chain Membership Proofs implementation
- Litecoin, with its optional privacy (MWEB)
- Dash, with its optional privacy
- Tornado Cash
- Bitcoin CoinJoin protocols

Another distinctive project that does not betray its mission is Thorchain. Even under the immense pressure that the whole industry had to deal with due to the irresponsible actions of those at ByBit, Thorchain was the only decentralized protocol that resisted the pressure to implement screening mechanisms at the protocol level, proving itself to be absolutely reliable. Even though all Thorchain trades are transparent on-chain, privacy and even total untraceability can be easily achieved when combined with some of the privacy-enabling projects mentioned above, when used correctly. However, the Thorchain network currently has a very limited choice of good interfaces, aside from Asgardex and MMGen wallets, and none of them are privacy-preserving, but we hope this can change.

Bitcoin privacy remains, however, in the midst of a notable crisis given the collapse of all important projects and protocols that had significant liquid CoinJoin-like pools. The most interesting and convenient of them in terms of usability remains WabiSabi; however, it needs some lightweight client implementations to achieve greater popularity in order to effectively prevent serious risks associated with Sybil attacks. We certainly know that most people in this space prefer lightweight solutions to heavy software solutions, and this factor can significantly affect the popularity and usage of any good project.

Given this, we are announcing a 50 BTC open-source fund to support any FOSS projects aiming to enhance the availability of privacy solutions. We hope we can still make a difference. Here are examples of the projects we will support:

- Bitcoin wallets and protocols aiming to preserve user privacy
- Lightweight clients for WabiSabi
- Thorchain wallets aiming to preserve user privacy
- Bisq Light Client
- Ethereum wallets and smart contracts aiming to preserve user privacy (an example of such might be a "non-rigged" fork of Railgun smart contracts and wallets allowing users to operate in Tor)

Unfortunately, we will not support projects that are written in Java, NodeJS, Go, or C#, especially developers who don't take module chain supply attacks seriously and believe they're some kind of "conspiracy theory".

There will be other projects that will hopefully take our place as the industry leader in privacy-oriented centralized exchanges, and we wish them success.

Our partners will still have access to our API for a limited time, but what happens after May 1st will depend on our new management team, who will be in possession of all access to our infrastructure. Thus, we recommend launching their own liquidity pools to guarantee seamless operation. We will provide consulting and recommendations to them.

Privacy is not a crime.

[thread locked for a few days for propagation]

Hello, I am posting here as I cannot PM you with a newbie account. I am thinking to write a minimal Bitcoin Core (bitcoind, bitcoin-cli, bitcoin-qt) in RISC-V assembly language and add a feature for user to add entropy from a dice roll. PM me if interested in programming or financial support.
Post
Topic
Board Development & Technical Discussion
Re: Creating a Bitcoin Core seed using base 6 number (Dice roll)
by
xx879
on 08/09/2023, 17:24:56 UTC
I saw Andrew Poelstra talking about this on a "Bitcoin Layer" podcast recently. I have casino grade dice, with the sharp edges. Are these really biased? I assumed the casinos would demand some controls during manufacturing to try un-bias the dice.
Post
Topic
Board Development & Technical Discussion
Re: Creating a Bitcoin Core seed using base 6 number (Dice roll)
by
xx879
on 08/09/2023, 13:25:25 UTC
I will not be able to update my version of Bitcoin Core beyond v23. I will have to use "legacy" wallet types only for my use-case.

Soon there should be a mechanism which allows you to specify your own hdseeds for descriptor wallets after they are created, which should reduce the need for the legacy wallet format. It's a work-in-progress I believe on github, but it's an annoying issue which affects other things like dumping private keys and performing manual derivation and stuff.

I think I know the issue you are talking about, I saw it was closed due to inactivity  Undecided
Post
Topic
Board Development & Technical Discussion
Re: Creating a Bitcoin Core seed using base 6 number (Dice roll)
by
xx879
on 08/09/2023, 12:01:28 UTC
I asked an LLM to modify your python code, so that it outputs a master xpriv:

Code:
import hashlib
import base58

def master_xprv_from_seed(seed_hex, network_byte=0x0488ADE4):
    # convert seed from hex to bytes
    seed_bytes = bytes.fromhex(seed_hex)

    # add network byte prefix
    extended_key = bytes([network_byte]) + seed_bytes

    # checksum = first 4 bytes of sha256(sha256(key))
    checksum = hashlib.sha256(hashlib.sha256(extended_key).digest()).digest()[:4]

    # append the checksum to the extended key
    extended_key += checksum

    # convert to base58
    xprv = base58.b58encode(extended_key)

    return xprv.decode('utf-8')

if __name__ == "__main__":
    seed_hex = input("Enter the seed in hex format: ")

    try:
        xprv = master_xprv_from_seed(seed_hex)
        print("Master xprv:", xprv)
    except ValueError:
        print("Invalid seed input.")

And then to import the master private key into Bitcoin Core, I would:

Code:
importdescriptors '[{"desc": "wpkh([master_xprv/84'/0'/0']/0/*)", "timestamp": "now", "range": [0, 1000], "watchonly": true, "label": "YourLabel"}]'

I assume "wpkh" and "p2wpkh" are arbitrary decisions in this case, but the decision will affect all future addresses that are generated.

I would do all of this work on an offline machine. Then I would use
Code:
listdescriptors
to get the xpub, and then on the online machine I would
Code:
importmulti '[{"desc":"pkh([Your xpub key])","timestamp":"now","range":[0,100],"watchonly":true,"label":"[Label for the wallet]"}]'

Is that right?
Post
Topic
Board Development & Technical Discussion
Re: Creating a Bitcoin Core seed using base 6 number (Dice roll)
by
xx879
on 08/09/2023, 06:58:53 UTC
I should better explain my use case:

I would like to create my own seed by using dice throws. When I have a 99 digit base 6 number, I want to type that into Bitcoin Core on an offline machine/live os. Then I want to take the XPUB that is created, and transfer it to an online machine running Bitcoin Core as "watch only". Then I can create new receiving addresses on the online machine, which I will also use to create PSBTs.

I don't mind using a simple script or two if absolutely necessary, but I prefer to only use Bitcoin Core for security reasons.


It seems this is simply not going to be possible. From Bitcoin Core v23:

the legacy wallet type is being deprecated and support for creating and opening legacy wallets will be removed in the future

I will not be able to update my version of Bitcoin Core beyond v23. I will have to use "legacy" wallet types only for my use-case.

- createwallet "wallet_name" ( disable_private_keys blank "passphrase" avoid_reuse descriptors load_on_startup external_signer )

descriptors will have to be set to false.

Then I can use:
- sethdseed ( newkeypool "seed" )

I will set newkeypool to true, and the "seed" is the WIF private address that is generated by the python script provided by BlackHatCoiner.

After that I can use:

- getnewaddress on offline machine, then save this to text file and import into bitcoin core on online machine using
importaddress "address" ( "label" rescan p2sh )

And then, when I am ready to spend:

- estimatesmartfee/createpsbt on server (to build a transaction with current fees)
- save the transaction in a text file, take to offline machine
- walletprocesspsbt on offline machine, save to text file and take to online machine
- broadcast transaction

Is this generally correct?

This way I have a paper copy of my original seed (a random 99 digit number in base 6), I have an offline machine and electronic copies of an encrypted wallet.dat file with private keys, and I have an online machine which never sees private keys but allows access to the bitcoin network.
Post
Topic
Board Development & Technical Discussion
Merits 3 from 3 users
Re: Creating a Bitcoin Core seed using base 6 number (Dice roll)
by
xx879
on 08/09/2023, 06:25:29 UTC
⭐ Merited by BlackHatCoiner (1) ,ETFbitcoin (1) ,vapourminer (1)
I understand your use case better now. You want to create a Bitcoin wallet using a manually generated seed, which you'll enter into Bitcoin Core on an offline machine, and then use the XPUB to create a "watch-only" wallet on an online machine. This approach can enhance security.

Here's a high-level overview of the process:

Generate Seed: Manually generate a 99-digit base-6 number using dice throws, ensuring it's highly random.
Offline Machine:
Install Bitcoin Core on an offline machine.
Enter the seed to create a wallet.
Note down the XPUB (extended public key).
Online Machine:
Install Bitcoin Core on an online machine.
Import the XPUB from the offline wallet as a "watch-only" wallet.
Create new receiving addresses on the online machine for transactions and PSBTs.
You can follow these steps manually within the Bitcoin Core GUI, which is designed to handle these tasks securely. No additional scripts should be necessary for this process, as Bitcoin Core provides the needed functionality for generating and importing wallets.

Remember to keep your offline machine entirely disconnected from the internet during the initial setup to maintain security. Additionally, ensure you have backups of your seed in case of data loss or hardware failure.

hello chatgpt 3.5
Post
Topic
Board Development & Technical Discussion
Merits 2 from 1 user
Re: Creating a Bitcoin Core seed using base 6 number (Dice roll)
by
xx879
on 08/09/2023, 04:50:34 UTC
⭐ Merited by vapourminer (2)
I should better explain my use case:

I would like to create my own seed by using dice throws. When I have a 99 digit base 6 number, I want to type that into Bitcoin Core on an offline machine/live os. Then I want to take the XPUB that is created, and transfer it to an online machine running Bitcoin Core as "watch only". Then I can create new receiving addresses on the online machine, which I will also use to create PSBTs.

I don't mind using a simple script or two if absolutely necessary, but I prefer to only use Bitcoin Core for security reasons.
Post
Topic
Board Development & Technical Discussion
Re: Creating a Bitcoin Core seed using base 6 number (Dice roll)
by
xx879
on 08/09/2023, 04:14:22 UTC
I would like to use "sethdseed" so all future pub and priv keys are derived from the seed I provided. Can I use the "importdescriptors" command to do that?
No. As BlackHatCoiner has explained above, sethdseed command is only compatible with non-descriptor wallets.

If you want to use the importdescriptor command to create an HD wallet, then your descriptor will need to include a master private key (xprv), rather than a WIF key. So you will need to use your manually generated entropy to generate an xprv first.

Do you know how I could do this?

I see that somebody was working on this, but I guess it was not completed:
https://github.com/bitcoin/bitcoin/pull/8735
Post
Topic
Board Development & Technical Discussion
Re: Creating a Bitcoin Core seed using base 6 number (Dice roll)
by
xx879
on 07/09/2023, 19:28:02 UTC
You cannot import a seed manually with sethdseed in a descriptor wallet. It has to be a legacy wallet

I am now confused by the workflow after converting the seed to a WIF private address, especially after reading this:
https://bitcoin.stackexchange.com/questions/113846/how-can-a-private-key-be-imported-to-a-descriptor-wallet

I would like to use "sethdseed" so all future pub and priv keys are derived from the seed I provided. Can I use the "importdescriptors" command to do that? 
Post
Topic
Board Development & Technical Discussion
Re: Creating a Bitcoin Core seed using base 6 number (Dice roll)
by
xx879
on 07/09/2023, 19:18:37 UTC
Very nice, thank you! I wish I could use the bitcoin-cli for this, but I suppose this is the next best thing.
Post
Topic
Board Development & Technical Discussion
Re: Creating a Bitcoin Core seed using base 6 number (Dice roll)
by
xx879
on 07/09/2023, 16:25:01 UTC
Maybe it would be possible to compile only the relevant portions of the Bitcoin Core code, replacing the code which generates entropy with a simple prompt for the user,

cout << "Enter a number: ";

?
Post
Topic
Board Development & Technical Discussion
Re: Creating a Bitcoin Core seed using base 6 number (Dice roll)
by
xx879
on 07/09/2023, 16:16:32 UTC
Entropy -> 32 byte hex -> prefix network byte -> calculate and append checksum -> encode to Base58

This is what I would like to do with Bitcoin Core.  I feel that using an additional program outside of Core (either an offline version of bitaddress.org, custom python script, etc.) to do this introduces a chance for mistakes. Do you know if this can be done with Bitcoin Core somehow?
Post
Topic
Board Development & Technical Discussion
Merits 8 from 3 users
Topic OP
Creating a Bitcoin Core seed using base 6 number (Dice roll)
by
xx879
on 07/09/2023, 12:04:07 UTC
⭐ Merited by o_e_l_e_o (4) ,ETFbitcoin (2) ,vapourminer (2)
Hello,
I was wondering if there is a way to use a custom seed in Bitcoin Core v23, rather than allow the program to use the default method to try to get entropy. At the moment I believe you need to create a random number (e.g. rolling dice), then convert it to base 6 (if not base 6 already), then input that 99 digit number into a program such as bitaddress.org to create a WIF private address and public address. Then you can import that private address into a new descriptor wallet.

Is that correct? Considering all the buzz around entropy recently it seems like it would make more sense to input a random 99 digit number directly into Bitcoin Core.