All - Activity - joe-p - Algorand

Discussions on Decentralized Communication Solutions

Open-Sourcing AVM Email: Joining Encrypted Communications with Defi

The ideal solution is you just let users choose whichever server they want to use. You could make a server for them and create their account (and have them change their password), but I think it makes much more sense to just let both users decide which server they want to use (could be their own, etc.).

I posted my concerns with a similar protocol here: Open-Sourcing AVM Email: Joining Encrypted Communications with Defi - #26 by joe-p. Much of what I said there also applies here as well. Feel free to quote anything I’ve said in that thread to continue the discussion here.

Email and Decentralization Concerns

Yes but then the app is no longer decentralized, because off-chain communications are now, although still encrypted, stored off-chain by some entity. I have never been a fan of centralized services, especially with data encrypted or not, because access to that data is at the discretion of the host.

Concerns with On-Chain Storage

I want to share my thoughts on the crypto involved here. My main concern with basically anything that stores encrypted information on-chain is forward secrecy. This is especially true for a protocol that is only using ECC cryptography. All of this private data will eventually become exposed in a PQ.


App Problems and Resource Management

App Problem, TEAL Level

Date: Apr 1, 2024 What version of algokit-utils are you on?

Unavailable Asset 1020 means it’s not in the transaction as an available resource. AVM must know all state that is accessed before execution. The simplest way to address this is to enable resource population. You can see an example of this here TEALScript/examples/tuple_in_box/client.ts at d8d4f7….

Wallet Council Proposals

Below are proposals for the kind of methods/standards we need:

ARC12 Implementation

I have done a completely new implementation of ARC12. The contract can be seen here: arc12/contracts/arc12.algo.ts at update_with_rekey · joe-p/arc12 · GitHub. This new implementation maintains the core principles of ARC12.

Algokit Client Capabilities

Can algokit generated client while composing with ATC algo call simulate endpoint and fill in the boxes it will need? Yes, this is actually possible now in the latest version of algokit. algokit.Config.configure({ populateAppCallResources: true }) will ensure all resources needed (apps, assets, etc.) are populated.


General Discussions

Deploying Algorand as an Ethereum Rollup

Since we don’t yet have ZK SNARK proofs, the state proofs are currently too heavy to compute on-chain for ETH. Algorand can serve as an optimistic ETH L2, but how to handle fraud proofs remains an open question.

Fees on Algorand

The function related to fees can be seen here: Github Link. Congestion fees are based on how many blocks the transactions in the mempool could fill.

Bug Bounty Program Concerns

If Algogard doesn’t have a bug bounty program in place, I see no wrongdoing here. While bug bounty programs are beneficial, not every project can afford them or feels they are necessary.

Discussion on Ledger Signing

Unfortunately, Ledger right now does not support signing anything other than transactions, so delegated logic signatures are not possible with a Ledger-based account.

Clarifying Smart Contract Misunderstandings

It seems there are misunderstandings about how smart contract development with PyTeal works. I recommend checking out the YouTube playlists on getting started with PyTeal and Beaker.