HN user

quentinadam

62 karma
Posts1
Comments14
View on HN

No that’s not how it works. When a transaction is submitted on the blockchain to withdraw funds from an address it needs to be signed by the private key and it exposes the full public key. A bot that would monitor such transactions would therefore see the public key. With just the public key you can’t create a valid signature, you still need the private key, however for this particular case, knowing the public key reduces the entropy of the puzzle by a factor of 2 (from 66 bits to 33 bits), so this puzzle was easier to solve for the bot knowing the public key published by the person who found the private key. This is very specific to this specific puzzle which had 66 bits of entropy. In general, bitcoin transactions have 256 bits of entropy.

Near-zero dependency example of how to use AWS Nitro enclaves from Deno. Can serve as a code sample or a blueprint to understand the whole process, because I found the AWS documentation and process quite unclear and over-engineered. Parts of the code (the code to access the Nitro Secure Module and the HTTP Proxy that connects on a VSOCK) are written in Rust and accessed in Deno through FFI.

We run a medium sized trading system (20 microservices) in Deno for about a year now. There have been a few runtime quirks but they have currently all been ironed out. I love the approach that Deno takes with respect to permissions which allows you to strictly specify which urls your program can access, which files/directories can be read/written, etc.

May I suggest the below insights to your point of view, which will allow you to have a better understanding of what is happening underneath the hood ?

USDC is issued by circle.com and the underlying assets are held on US bank accounts.

BUSD, which is Binance's USD stablecoin, is actually issued by paxos.com (see https://paxos.com/busd/) and the underlying assets are held on US bank accounts .

Binance definitely has accounts at both Circle and Paxos, that allow them to mint and redeem USDC and BUSD, by depositing or (respectively) withdrawing USD to Circle's or Paxos' bank account.

In September, Binance announced that all USDC deposits made on Binance would be converted to BUSD at 1:1 (https://www.binance.com/en/support/announcement/binance-to-a...). The move was indeed an attempt to boost the adoption of BUSD, which is the third largest stablecoin with a market cap of $19B, behind USDC which is the second largest with a market cap of $43B (see https://coinmarketcap.com/view/stablecoin/).

From a practical point of view, what Binance did was redeeming the USDC (by sending them back to Circle and withdrawing USD to it's bank account) and then subsequently minting BUSD (by wiring the USD to Paxos' bank account and receiving the corresponding amount of BUSD).

Binance also allows to "seamlessly" withdraw BUSD as USDC from it's exchange to your wallet.

Now you are starting to understand what happened today.

Following negative rumours, people started to massively withdraw BUSD as USDC from Binance. Binance fullfilled to first part of those withdrawal requests from it's hot wallets containing USDC, but past a certain amount it had no USDC left and temporarily halted withdrawals of USDC. A caveat to that is that Binance only halted withdrawals of USDC on the Ethereum and Tron chains. Withdrawal of USDC to Polygon and Avalanche for example have been running smooth all day, probably because less people choose those options, so there were still funds available on Binance's hot wallets on these chains.

Once the hot wallets were depleted of USDC on Ethereum and Tron, Binance could only continue to honor the withdrawal requests by converting the BUSD it held to USDC. That conversion requires to redeem the BUSD at Paxos, receiving USD on it's bank account, sending the USD to Circle, and receiving the corresponding amount of USDC. These steps involve regular wires between banks, hence why they could not be executed before the US banks opened.

That being said, the situation is now resolved and Binance has now re-enabled withdrawals of USDC.

I don't fully agree with that. - Cheaper: Well most decent banks I have been working with don't charge on USD wires, or they charge something like $20 flat, which happens to be on par or cheaper than the ethereum blockchain fees nowadays - Faster: In my experience (in sending hundreds of wires every month), the actual "sending time" of USD wires via Fed wire or SWIFT is literally minutes, so that's on par with blockchains. Most of the time the funds are just stuck somewhere in the compliance department. The same would hold if you withdraw/deposit USDT/USDC to an exchange. Funds can still get stuck waiting for compliance approval. - Easier: That's debatable. I guess some banking UIs are better than others. And blockchain is not particularly known to be UI/UX friendly either. One definite advantage I could think of is that when you hold USDT/USDC in your wallet, then you have full control over them, but I bet 99% of the USDT/USDC is held on exchange, and exchanges are more and more starting to act like banks (with all the slowness that that entails).

Almost all fiat deposits into Bitfinex create USDT.

As a matter of fact that is NOT true. (speaking as a crypto hedge fund manager, active since 2013, and trading > $1B/month on all major exchanges). It used to be like that in the past (when USD and USDT where one just represented as "USD" on Bitfinex), but this changed a year or two ago. Now, USD wires are being credited as USD and USDT deposits are being credited as USDT. And there is a USDT/USD market on Bitfinex to exchange between the two.

It may help that we bank at all of the same banks as Kraken, so most transfers are internal transfers. But even to outside banks, normally US wires should be pretty fast (usually within the day). It may also be the case that we literally wire millions every day on a regular basis, so our wires probably don't get held up at any compliance checks.

There's no way to transfer USDT into USD. The few exchanges that say they offer withdraws actually don't if you go and try.

It's perfectly possible to exchange USDT for USD and withdraw USD to your bank account; it does not involve complicated steps nor outrageous fees. Kraken, for example, has a very liquid USDT/USD market, is a well respected exchange, and processes USD withdrawals that arrive within minutes to US bank accounts. I'am speaking as an industry insider and hedge fund manager that trades ~$1B/month on the crypto markets.

I had a similar story on Twitter. I had been using Twitter for a few years. One day I noticed a user with a handle trying to impersonate someone else (handle was close to another handle, with i/l switched). That handle was posting links to a crypto “giveaway” that really was a credential fishing website. I reported those tweets, and posted replies to those tweets to warn people. A few days later Twitter sent me an email that I had been violating the terms and conditions (without any more precise explaination), and had disabled my account. I still don’t know whether it was the scammy handle that somehow managed to get me blocked or whether it was a Twitter algorithm that had incorrectly classified my account. Anyway, the Twitter email contained a link to a procedure to appeal the decision. I appealed the decision, but received another Twitter email a few days later that the decision was final because I had violated the T&C (it was again missing any further explanation). That was the end of the story, and since then I just stopped using Twitter.