Skip to content
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

UIP-0121 (%pine): limit to path canonicalization #58

Open
joemfb opened this issue Apr 22, 2024 · 1 comment
Open

UIP-0121 (%pine): limit to path canonicalization #58

joemfb opened this issue Apr 22, 2024 · 1 comment

Comments

@joemfb
Copy link
Member

joemfb commented Apr 22, 2024

UIP-0121 proposes %pine: a non-referentially-transparent "request-for-latest" in the namespace. This proposal would allow any piece of data from anywhere within Arvo to be retrievable over the network, as any path can be made referentially-transparent by including the current date.

One problem with this approach is that it places increased, informal responsibility for data availability on the runtime. A datum that is available at time T but not at time T' must then be "fully resolved" at time T. If such a datum is requested over the network via %pine, and it is too large to fit into a single packet (or larger than the conventional batch of packets), the runtime must make special efforts to retrieve and store all the packets of that datum in order to successfully serve the sequence of requests for it.

If %pine is instead restricted to only perform "path canonicalization", the responsibility for data availability stays with Arvo. A non-referentially-transparent "request-for-latest" merely results in the referentially-transparent identifier for the latest version, which can then be resolved normally. In practical terms this reduces the scope of %pine to "frontier discovery" of data explicitly published in the namespace.

@joemfb
Copy link
Member Author

joemfb commented Apr 22, 2024

relevant: #57

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant