Technical spec for COALA IP Spec using LCC, IPLD, and BigchainDB
Opened this issue · 3 comments
Abstract
With the SPOOL protocol, ascribe.io published and implemented a specification on how to handle ownership of digital assets on the Bitcoin blockchain. In the implementation of this, frameworks for digital rights management (most notably from LCC) were discovered that they couldn't be applied to SPOOL protocol v1.0 easily. As ascribe.io wants to move to BigchainDB as a ledger in the near future, this gives a rationale to formally discuss how the integration of Linked Data Coalition's Rights Reference Model could look like using BigchainDB as a central but decentralized rights registry.
Goals
Using the following (but not exclusively) technologies/resources:
- The LCC Rights Reference Model
- The LCC Entity Model
- Interplanetary Linked
Data - JSON LD
- BigchainDB
- schema.org
we want to come up with a practical (!!!) technical specification that matches the use case of digital rights management (SPOOL v2.0) on a central but decentralized rights registry (namely BigchainDB).
In terms of actual goals, this means:
- Converting parts of The LCC Rights Reference Model
to a JSON schema - Linking data between JSON schema entities using IPLD & JSON LD
Tasks
The scope of this project is to resolve the following tasks and questions. For now the scope of the project is deliberately kept to a time span of two weeks:
- Identify vital components for a first-cut SPOOL v2.0 implementation
(which LCC entities are actually of use for us now) - Identify how LCC entities can be converted to a sane JSON schema using schema.org, when applied to digital rights management on a decentralized
registry - Research how linked data (both JSON LD and IPLD) can play a role in
linking pieces of meta data to assets - Write a comprehensible, fun, easy-to-read, specification that covers
how the above mentioned technologies can be used to implement a first-cut
implementation of SPOOL v.2.0 - Update specification to reflect Creation ownership decisions (COALAIP/specs#6, COALAIP/specs#3)
Form
The form of outcome of this project is a formal, practical, technical specification of SPOOL v2.0 using the above mentioned technologies.
Outlook
As the Abstract already foreshadows, this project is rather extensive featuring many branches that could be traversed in-depth. Hence, it is even more important to stress that this projects overarching goal is to extract a practical implementation from the LCC standards body. Even if this means that the implementation in its first, second or third cut will not even closely resemble the original specification's outlines.
Hence, in future iterations (NOT NOW!) we'll worry about questions like:
- How does this interplay with technologies like BigchainDB, IPFS, (InsertTechnology)
- (more later when I get them :D)
Last items before completing:
- Last passover by Greg
- Final read through
- Move to Coala organization
Added by Troy:
- Remove the "when: In progress" label and close this issue
Copying two comments made by @sohkai on bigchaindb/bigchaindb#270
Comment 1:
Just made a few small edits that fixed the extra newlines in the sentences of some of the paragraphs; I guess Github doesn't suppress extra newlines in comments.
Comment 2:
👍 Looking forward to the spec. As a thought, maybe it'd be nice to have a high-level presentation on the data formats you've mentioned (and differences to SPOOL v1) now that you're Lord Commander of LCC integration and have grokked them all? Or maybe Greg?
Updated issue body instead.
🎉