Created at 3pm, Feb 28
ilkeTechnology
0
Celestia (LazyLedger) Whitepaper
mkb1wFVqFRxjJ5igIDJLb-vlHwkGmccuUESRbVsIpY8
File Type
PDF
Entry Count
67
Embed. Model
jina_embeddings_v2_base_en
Index Type
hnsw

LazyLedger (Celestia) is a design for distributed ledgers where the blockchain is optimized for solely ordering and guaranteeing the availability of transaction data. Responsibility for executing and validating transactions is shifted to only the clients that have an interest in specific transactions relating to blockchain applications that they use. Mustafa Al-Bassam, arXiv:1905.09274 [cs.CR]

Interestingly, this means that it is possible for users of an application to decide to change the logic of that application without requiring a hard-fork of the blockchain that would eect other applications. However if immutability of the logic is important, the creator of the application may decide for example that the namespace identier of the application should be the cryptographic hash of the applications logic.
id: c247dd0f26389c04f8705ea1a4f69f8f - page: 7
5.1.1 Cross-Application Calls Some applications may want to call other applications (i.e., a cross-contract call). We consider two scenarios in which an application may want to do this: either as a pre-condition or a post-condition. We consider a model where all cross-application calls can be expressed as pre-conditions or post-conditions, similar to e.g., the transaction model of Chainspace . Recall in Section 3.3 that Goal 4 of LazyLedger is application state sovereignty, which means that users of an application should not have to execute messages from other irrelevant applications. An application can specify other applications as dependencies in its logic, where knowledge of the state of the dependency applications is necessary in order to compute the state of the application. An application B is thus
id: aa6b185e5f30fe047f8e19c0f81b7bbf - page: 7
In order to preserve the notion of state sovereignty, this means third party applications cannot force other applications to take a dependency on the state of third party applications. In the case of a pre-condition, an application may have a function that can only be executed if another application that it depends on is in a certain state. In such a case, in order to validate that these preconditions are met, clients of an application must also download and verify the state of the applications dependency applications; however the clients of the dependency application do not need to download the state of the applications which depend on it.
id: 1ac1e8a6b2f48be80f035604d13c652a - page: 8
For example, consider a name registrar application where clients can register names only if they send money to a certain address in a dierent currency application. The clients of the name registrar application would have to also become clients of the currency application, in order to verify that when a name is registered, there is a corresponding transaction that sends the funds to pay for the name to the correct address.
id: 78f5f7393f83d4991a7d6e5686edf38e - page: 8
How to Retrieve?
# Search

curl -X POST "https://search.dria.co/hnsw/search" \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"rerank": true, "top_n": 10, "contract_id": "mkb1wFVqFRxjJ5igIDJLb-vlHwkGmccuUESRbVsIpY8", "query": "What is alexanDRIA library?"}'
        
# Query

curl -X POST "https://search.dria.co/hnsw/query" \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"vector": [0.123, 0.5236], "top_n": 10, "contract_id": "mkb1wFVqFRxjJ5igIDJLb-vlHwkGmccuUESRbVsIpY8", "level": 2}'