-
Notifications
You must be signed in to change notification settings - Fork 150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
caip: chainproof #218
base: main
Are you sure you want to change the base?
caip: chainproof #218
Conversation
This is very interesting! The one thing that this spec makes me wonder about is the precision and universality of block-, transaction- and non-asset-contract- addressing. it feels to me from the diagram provided for the EVM profile that there is a 1.) Having been mulling on this for months, I think we probably need two new CAIPs, that chainProofs could extend/require:
2.) I say 3.) And let's just name one elephant in the room: maybe the Ordinals people would be interested in the above. There hasn't been a ton of interest from the BTC family tree so far, this might be a good opportunity for outreach to them! |
For EVM |
I think txid-based addressing could be useful, but we don't need it to prove NFT ownership on Ethereum for example, so I'm not sure it should be a requirement. It could be useful if you wanted to prove that a particular transaction was included in a specific block or something like that, but you could alternatively define what that means in the EVM profile without a new namespace at CASA. Also, how would you refer to blocks and transactions with graph-based ledgers? |
Right, EVM and ERC721 make it pretty easy/standardized to navigate to the storage from the contract address. My question was whether this would be more extensible if there were a CAIP-constrained string that encoded that same navigation for non-EVM contracts/environments. Didn't mean to imply it was a gating requirement! At most a stitch-in-time situation, but more likely me overthinking :D
I'm no expert but most of the DAGs I've looked at have something pretty similar to transactions, it's more the "block"-addressing that would break down (although most DAGs have some form of supernode/milestone/checkpoint/etc). I'm actually working on these two CAIPs today, so maybe it'll be less annoying to discuss with a strawman to point to, but we definitely shouldn't bake the assumption of blocks into the syntax for transactions, since basically everything we want a namespace for has transaction-queryable state... I've crossed "block" out of the micro-strawman above! |
FWIW I threw up two strawmen, but it's probably not worth looking at until the attestation-use-case folks have had a look, they might well bring breaking changes or a complete rethink. |
Updated the PR with an example chainproof for the ownership of an ENS name. See the CAR file in the It doesn't yet use multidid for the Created using this script: https://gist.github.com/oed/a590fe2932099310bcbf922d1d25b646 Oh, and the script also shows you how to verify a chainproof using a javascript implementation of the EVM. |
A note on size: |
I wonder if this needs a concept of "at certain block height" |
In the example I provided above the block height is included since the
block header is included in the proof!
Joel Thorstensson
Co-founder, 3Box Labs
[image: 3Box Labs] <https://3boxlabs.com>
…On Tue, Apr 11 2023 at 2:45 PM, ligi ***@***.***> wrote:
I wonder if this needs a concept of "at certain block height"
Also would love to see some more use-case examples.
—
Reply to this email directly, view it on GitHub
<#218 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA52ONOKWQLX62P5OKEB6WTXAVN73ANCNFSM6AAAAAAVPXAJQM>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Great news, after a conversation with Richard Meissner of Safe it turns out that there's an easy way to get all storage slots associated with an The method is called This is all information we need to be able to construct a ChainProof for any EVM smart contract call! |
@oed - doing some quick housekeeping - where did this end up? |
@obstropolos It hasn't really gone anywhere. Would still like to keep this around for future reference though! |
📃Preview