Avatar
bordalix
62cef883863022a4f1d60d54857c9d729650702c9fe227b0988c0b6e36c4bcce
Moving pixels @ArkLabs

Introducing Ark's Developer Hub.

Our goal is to establish this as the go-to resource for learning about Ark.

Soon, you'll find comprehensive developer documentation on how to integrate Ark into your wallet or how to set up an ASP to offer liquidity.

https://arkdev.info

There are 2 questions here:

1. Why not stratum v2 right away?

I'm not an expert, but maybe miners need to upgrade their firmware? Well, some sort of software upgrade must happen, maybe they are not ready?

2. Why not Kano pool?

Miners seem to prefer FPPS to other payment schemes, which makes sense, due to the steady stream of revenue. Since Kano only finds one block per year, I don't see how it could offer FPPS to its "customers", so in that regard Kano pool will always be behind bigger pools. So, in this particular question, size matters 😉

Again, not an expert, just thinking out loud.

https://originstamp.com/blog/pps-vs-fpps-vs-pplns-vs-pps-mining-pool-payouts/

The mining protocol is called Stratum.

Today, pools decide which transactions go inside the new block, aka the block template. After this, the block template is send to miners which will try to mine it. All miners inside a pool use the same block template.

So, the block template decision is centralised on a dozen pools. One evil entity just need to apply pressure on a dozen individuals to censor some type of transaction.

With the next version of the protocol, Stratum v2, miners are able to decide which block template they want to work on, without loosing the benefits of being in a pool.

So, the block template decision will be decentralised into thousands of individual miners, which makes it a lot harder for the evil entity to apply pressure.

https://ocean.xyz will use Stratum v2 in a near future

https://dmnd.work is using Stratum v2 today (I think)

PoC:

Buy gift cards from The Bitcoin Company and pay with

Liquid BTC

- Buy gift card (includes VISA)

- Capture Lightning (LN) invoice

- Call Boltz and make LBTC => LN swap

- User pays LBTC with Marina Wallet

https://m.primal.net/HRJO.mov

Try it:

https://joaobordalo.com/labs/tbc/

Links:

https://m.primal.net/HRJO.mov

https://www.thebitcoincompany.com/

https://boltz.exchange/

https://vulpem.com/marina

Oh, crap, it's gone.

Announcing Nostr markets: find all markets created with NIP15

https://nostr-markets.pages.dev/

All feedback is welcome.

https://github.com/bordalix/nostr-markets

Do you know which Bitcoin constant is this?

26,959,535,291,011,309,493,156,476,344,723,991,336,010,898,738,574,164,086,137,773,096,960

Maybe in its hexadecimal format?

0x00000000FFFF0000000000000000000000000000000000000000000000000000

Yes, it's the maximum target.

But what thus it means, and why this “weird” value?

Bitcoin’s protocol wants blocks mined every 10 minutes (on average), but the number of miners doing it varies along the time. The protocol adjusts to this hash power variation by increasing or decreasing the difficulty to mine a block.

This adjustment is made every 2016 blocks (~2 weeks), by multiplying the current difficulty with the ratio of expected time / actual time it took to mine the previous 2016 blocks.

For example, if the last 2016 took 18144 minutes (instead of 20160), the ratio would be 1.1 and the new difficulty would be 1.1 times the previous difficulty:

new difficulty = difficulty * ( 20160 / 18144)

To reflect difficulty in the process of mining, a new value is calculated from the difficulty value (the target hash) and block headers must be equal or below this target hash. Since block headers are found by trial and error, the lower the target hash, the harder it is to find a valid block header.

The target hash is calculated and written to the block header:

target hash = maximum target / difficulty

So, we now reached the maximum target, a Bitcoin constant with the value of 0x00000000FFFF0000000000000000000000000000000000000000000000000000

Now, why 0x00000000FFFF00…00? Why not 0xFF…FF?

If you are Satoshi, and you are about to launch the genesis block, you have two things to consider:

1. What will be the difficulty of block 0? Well, logic says it should be the easiest block of all, so it should have the minimum value possible, 1.

2. How to make sure that my computer will take about 10 minutes to mine the next blocks? After all, you are pretty sure you will be alone doing this for a while.

If you put a maximum target of 0xFF..FF, and difficulty at 1, using the above formula, you’ll have a target hash of 0xFF..FF, which means that EVERY block will be a valid block, which means that your computer will generate thousands of blocks in a few seconds.

The difficulty adjustment would kick in every 2016 blocks, but since the difficulty adjustment it’s limited to a variation by a factor of 4 (4 > ratio > 0.25), it would take some time adjusting and you would end up with thousands of empty blocks.

To prevent this, you need to calculate the hash power of your computer and then define the maximum target in order to have it mining blocks every 10 minutes on average.

And it seems 0x00000000FFFF00…00 was the number.

Podes fazer uma comunidade à volta de uma carteira bitcoin. Além de poder pagar e receber, a carteira também permite que a comunidade vote em propostas feitas pelos seus membros.

This is awesome 👍

Bitpac: Publicly auditable communities

https://youtu.be/RLh4CF7Sd_w

End free API ➡️ People moves to scraping ➡️ Heavy scraping ➡️ Close open access, implement rate limits ➡️ Twitter DDoS itself 👇

waxy.org/2023/07/twitte…

A lesson on unattended consequences.