Author

Topic: Ark: An Alternative Privacy-preserving Second Layer Solution (Read 728 times)

legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Ark v0.3 is released: https://github.com/ark-network/ark/releases/tag/v0.3.0

What's added:

  • VTXO tree signing: Trust between clients and the server for when completing a round is now removed. Round participants now collectively sign the VTXO tree after they've verified it.
  • A new on-boarding process is implemented, that allows users to on-board by simply sending their coins to an on-boarding address. (Pull request: https://github.com/ark-network/ark/pull/279)
  • Extended functionality: Developers are provided with enhances tools to build on Ark, any change produced by payments can be spendable without needing to claim it, allowing more efficiency and flexibility in off-chain transactions, and the system has become more robust with easy Bitcoin wallet restoration.

Let's see what the future of money holds.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Important announcements.

- Ark Labs closes a $2.5M pre-seed fundraise with the investor Tim Draper and his associates: https://blog.arklabs.to/ark-labs-secures-2-5-million-pre-seed-to-power-the-future-of-bitcoin-driven-global-commerce-9b5b19fe1a37. This will allow more people to work on Ark full-time. Soon, ArkLabs will post job openings. I'll let you know.
- Short video about the wallet software is out: https://x.com/ArkLabsHQ/status/1827013390134296723.

Cheap, private and fast off-chain transactions are the way to go.  Cool
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Ark v0.2.0 is released: https://github.com/ark-network/ark/releases/tag/v0.2.0

In this release:

  • Wallet interface has a covenant-less implementation. That means it is now possible to send satoshis in Bitcoin networks, such as signet. (not mainnet, yet)
  • Offline payments are introduced. Sender co-signs the transaction with the ASP and delivers the payment request to receiver, whenever he (the receiver) comes back online. This is like your transaction being unconfirmed until you come back online.
  • MutinyNet support is added. Mutinynet is a custom Bitcoin signet, which has a 30-second block interval.

Yesterday, when testing v0.2.0 with one of their core contributors, I was able to receive 2000 signet sats off-chain, without making a single on-chain transaction.
Code:
$ ark balance
{
    "offchain_balance": {
        "details": [
            {
                "amount": 2000,
                "expiry_time": "2024-08-22 23:04:26"
            }
        ],
        "next_expiration": "2024-08-22 23:04:26",
        "total": 2000
    },
    "onchain_balance": {
        "spendable_amount": 0
    }
}
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
FAQ thread created: https://bitcointalksearch.org/topic/the-ark-faq-5505515

Discussions regarding the protocol should be better made there.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
A tweet from 2023 explains how Ark can work non less interactively without softfork: https://x.com/SomsenRuben/status/1681442410348576772.

In this write-up, he explains Ark in simpler terms: https://gist.github.com/RubenSomsen/a394beb1dea9e47e981216768e007454?permalink_comment_id=4633382#file-_simplest_ark-md. Once you read this, you can scroll down and read the second post, "Reducing Ark Interactivity Without Soft Fork".

But you know what would be really awesome? If there was a way to interact with the Ark network without having to run any sort of node. Just like how some wallets let you use LN via trampolines and submarine swaps.
This will be doable. Ark is just like lightning, with more burden placed on the ASPs, rather than the users. It's just a better tradeoff, IMO. Lightning will still be used for money transfer between the ASPs.
member
Activity: 378
Merit: 93
Enable v2transport=1 and mempoolfullrbf=1
I think BIP-119 is the most popular covenant-proposal, but I'm not sure about its efficiency comparably to the rest.

I don't know which one is the safest and most efficient, but I've noticed people to propose enabling OP_CAT lately, which can incidentally allow covenants to be implemented: https://bitcoinops.org/en/newsletters/2022/05/18/#when-would-enabling-op-cat-allow-recursive-covenants. In Liquid, they've enabled OP_CHECKSIGFROMSTACK, which is said to be more efficient than OP_CTV: https://blog.blockstream.com/tapscript-new-opcodes-reduced-limits-and-covenants/.

Your insights would be appreciated.

I've been a supporter of CTV because I feel like I grasp the concept as a whole, but the emergence of competing proposals has made me hesitate. OP_CAT is mostly admired for its other capabilities since doing CAT covenants is a block space disaster. I have little knowledge of OP_CHECKSIGFROMSTACK.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Ark v2 enables Ark Service Providers (ASPs) to reclaim their liquidity without having to wait for the expiration period (4 weeks) to elapse. It almost sounds too good to be true, ha?

Is this basically the only difference between v2 and v1?

So you can now basically stop an Ark node at any time you want.

But you know what would be really awesome? If there was a way to interact with the Ark network without having to run any sort of node. Just like how some wallets let you use LN via trampolines and submarine swaps.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
There are a lot of covenant proposals, which one is the safest & most efficient?
I think BIP-119 is the most popular covenant-proposal, but I'm not sure about its efficiency comparably to the rest.

I don't know which one is the safest and most efficient, but I've noticed people to propose enabling OP_CAT lately, which can incidentally allow covenants to be implemented: https://bitcoinops.org/en/newsletters/2022/05/18/#when-would-enabling-op-cat-allow-recursive-covenants. In Liquid, they've enabled OP_CHECKSIGFROMSTACK, which is said to be more efficient than OP_CTV: https://blog.blockstream.com/tapscript-new-opcodes-reduced-limits-and-covenants/.

Your insights would be appreciated.
member
Activity: 378
Merit: 93
Enable v2transport=1 and mempoolfullrbf=1
Covenants (when proposed).

There are a lot of covenant proposals, which one is the safest & most efficient?
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Which upcoming soft fork, exactly?
Covenants (when proposed).
member
Activity: 378
Merit: 93
Enable v2transport=1 and mempoolfullrbf=1
so we better support the upcoming softfork.

Which upcoming soft fork, exactly?
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
One year after, let's see what has changed.


If and when implemented via a softfork, covenants will enable non-interactive use of Ark, meaning users do not need to be online constantly to send and receive satoshis. However, Ark can also be implemented without covenants (cl-Ark), although it will require interactivity as an disadvantage, so we better support the upcoming softfork.
legendary
Activity: 2114
Merit: 1403
Disobey.
As I understand this is currently in the very early concept stages or are there already first implementations running on testnet?

From the website: "Although Ark is a completely new design, it is interoperable with the Lightning Network, which complements it."
Why would it complement lightning and not - after a period of adoption of course - slowly make it obsolete?

Can anyone describe the up- and downsides in layman's terms?
I noticed there is another (few days older) thread on the same topic.
There is also a post answering my first question: https://bitcointalksearch.org/topic/m.62333142

I'd suggest to close this topic and continue discussion in the other one.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org

How is criticism of the LN and previously supporting big blocks a "red flag", as you put it?

I do share his criticism for LN inbound capacity, though, which I've previously ranted about here.
legendary
Activity: 2114
Merit: 1403
Disobey.
As I understand this is currently in the very early concept stages or are there already first implementations running on testnet?

From the website: "Although Ark is a completely new design, it is interoperable with the Lightning Network, which complements it."
Why would it complement lightning and not - after a period of adoption of course - slowly make it obsolete?

Can anyone describe the up- and downsides in layman's terms?
sr. member
Activity: 1666
Merit: 310
sr. member
Activity: 1666
Merit: 310
I read some caveats about double-spending on their FAQ. Huh

Yeah you're right :

Quote
Users need to wait for on-chain confirmations to consider a payment ‘final’.

Seems strange, possibility of double-spending could be huge, but isn't it exactly the same process with LN ?
LN is prone to double-spending?

How so?
hero member
Activity: 504
Merit: 1065
Crypto Swap Exchange
What do you think.

I find the idea really interesting and good, and if I've understood it correctly it would make it possible to avoid providing liquidity as we do with LN?

On the other hand, the fact that there's no public code at the moment, and the lack of responsiveness from the team over the past week, leaves me sceptical as to whether they'll manage to find enough devs to contribute to the project.

I read some caveats about double-spending on their FAQ. Huh

Yeah you're right :

Quote
Users need to wait for on-chain confirmations to consider a payment ‘final’.

Seems strange, possibility of double-spending could be huge, but isn't it exactly the same process with LN ?
sr. member
Activity: 1666
Merit: 310
The 1 million dollar question: does it have franky's Seal of Approval? Grin

On a serious note, I'm not sure I understood how it works... maybe someone needs to write an ELI5. Lightning is very simple to understand if you know how BGP routing works.

Is Ark centralized? I read some caveats about double-spending on their FAQ. Huh

Also, the fact they don't accept BTC donations via Ark is a bit worrying... it seems they don't trust it enough yet.
copper member
Activity: 821
Merit: 1992
Quote
Not really a downside as a "watchtower" program can be made that inputs your wallet password and the refreshing date in the future, which is stored with AES encryption in memory.
If you can use transaction locktime field or OP_CHECKLOCKTIMEVERIFY/OP_CHECKSEQUENCEVERIFY, then it will be better. If not, then this is the proper way of doing that: https://gwern.net/self-decrypting
copper member
Activity: 906
Merit: 2258
Quote
Every second, the watchtower will attempt to decrypt the cipher using the current ISO 8601 time looking like "YYYY-mm-ddTHH:MM:SS" as the key.
This key would be very weak, you could use 64-bit UNIX timestamp, and it would be as weak as well (but then, at least it will be resistant to timezone issues).

Quote
nobody will be able to use it unless they also know the unlock time, even if they have hacked the watchtower on a later date after the timer has started
Not really. Your program will need to decrypt it for every second, so your decryption could not take more time than that. The simplest way of getting the current time, and trying to decrypt it, can cause it to never be decrypted, if you will be unlucky, and your process will have a lower priority for a few seconds, when it should be decrypted.

Another thing is, any attacker could scan it faster than one decryption per second, it could do 1000 decryptions per second, and reach it sooner. Also, if there will be some default locking time, for example two weeks, and the attacker will know that some file on your server was created one week ago (by checking metadata), then it will use one week offset, and scan only a range of time, and then will get to the solution much faster than the official algorithm.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
The developer reason for developing it was as a result of his issue with lightning network
Quote
I’m working on a new lightning wallet. It removes pretty much all friction lightning currently faces:
1.Backups
2.Interactivity
3.Offline receiving
4.Receiver privacy
5.On-chain footprint

well if that's the case then let's join forces  Cheesy I am coincidentally also working on a Lightning wallet (as long as it is written in Python as development of the wallet core has already begun).

Quote
The only downside is that Ark require users to come online and "refresh" their coins every few weeks, otherwise the ASP can sweep the funds.
is this the side effect of removing on-chain footprint?

Not really a downside as a "watchtower" program can be made that inputs your wallet password and the refreshing date in the future, which is stored with AES encryption in memory.

The key to this cipher is the time stored in ISO 8601 format as a byte string. It is promptly discarded from memory.

Every second, the watchtower will attempt to decrypt the cipher using the current ISO 8601 time looking like "YYYY-mm-ddTHH:MM:SS" as the key.

Naturally this will only succeed at the requisite time at which the wallet is to be unlocked - following which the coins inside the ASP can be refreshed.

If at any point you come online, you can simply terminate the watchtower program, and the encrypted wallet password will be destroyed and nobody will be able to use it unless they also know the unlock time, even if they have hacked the watchtower on a later date after the timer has started. But the unlock time has already been discarded after it was used to encrypt the wallet password, meaning the deleted copy of the encrypted password is now unrecoverable.

This particular part is my own design, not Burak's. I haven't told him about this yet.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
In 22nd of May, Burak Keceli sent an email to the bitcoin-dev mailing list, describing an alternative second layer solution which is far more scalable, private, requires no interactivity and does not introduce liquidity constraints; essentially superior to lightning in every aspect. It consumes much less space on-chain, works like Chaumian eCash without being a central point of failure, and makes use of shared transaction outputs. To enable anonymous, scalable and off-chain transactions, it uses virtual transaction outputs (or vTXO).

It is in very early stage, and the team behind desperately needs Bitcoin developers willing to work on it.

Overview of Ark: https://arkdev.info/
Introductory email: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-May/021694.html
FAQ thread: https://bitcointalksearch.org/topic/the-ark-faq-5505515

What do you think.
Jump to: