http://i66.tinypic.com/fwpu88.pngThe IdeaThe world of digital cryptocurrency is simply that, digital. While everyone would agree that this is how we will eventually transact, there will always be physical, real-life assets that people/businesses/governments possess. Paper will be the first ledger that allows a user to electronically register ownership of a physical asset, and also allow for the exchange of physical assets through the same ledger. This will be accomplished using a modified DAG (direct acrylic graph) data structure built on two layers. The first will be the Paper currency, the second being the asset ledger, which will track the movement and data of each asset. This will most likely be built upon IOTA, but I have begun exploring RaiBlocks as an ulterior structure (I have outlined my take on both below). As it currently stands, it is just me working on the project, but I have outlined my timeline below, and believe that I can achieve my goals.
This is not an ask for donations, or an announcement for an ICO. This is purely to state my intentions to complete this project. If there is significant interest, I will allow limited donations. If you donate understand that this is not a promise for returns at a later time, but a donation to further develop and create this project. Why IOTA or RaiBlocksThe value of these next generation ledgers is incredibly noticeable, and necessary for this project to succeed. Both IOTA and RaiBlocks implementation allow for highly scalable, instant, and fee-less transactions, all on a decentralized network.
IOTA: IOTA is far more developed and mature DAG ledger at this point. And technically, it has some advantages over RaiBlocks. Each transaction on IOTA allows for 1 kilobyte of arbitrary data attached, while RaiBlocks allows for only 128 bits total on its first layer. This gives IOTA a distinct advantage when dealing with IoT devices. However, as noted by the article, there could be a second layer introduced which could allow for the transfer of data. Another advantage of IOTA is it allows for off-chain transactions to be attached to the Tangle at a later date. This lets the IoT devices not have to transact online for it to function properly.
RaiBlocks: RaiBlocks is the up and coming ledger that has captured a lot of peoples attention, and for good reason. Their implementation gives every user their own mini blockchain. The system makes sense, even more so for the storage of records of physical assets for a user. One of the current issues with RaiBlocks is its lack of privacy. Someone has spoken on fixing this using zkSNARKS (here), and I plan on reaching out and discussing the implementation and whether there is a way to concreate a solution.
For reference, here is the methodology below:
zkSNARKs have 4 main ingredients:
A) Encoding as a polynomial problem
The program that is to be checked is compiled into a quadratic equation of polynomials: t(x) h(x) = w(x) v(x), where the equality holds if and only if the program is computed correctly. The prover wants to convince the verifier that this equality holds.
B) Succinctness by random sampling
The verifier chooses a secret evaluation point s to reduce the problem from multiplying polynomials and verifying polynomial function equality to simple multiplication and equality check on numbers: t(s)h(s) = w(s)v(s)
This reduces both the proof size and the verification time tremendously.
C) Homomorphic encoding encryption
An encoding/encryption function E is used that has some homomorphic properties (but is not fully homomorphic, something that is not yet practical). This allows the prover to compute E(t(s)), E(h(s)), E(w(s)), E(v(s)) without knowing s, she only knows E(s) and some other helpful encrypted values.
D) Zero Knowledge
The prover permutes the values E(t(s)), E(h(s)), E(w(s)), E(v(s)) by multiplying with a number so that the verifier can still check their correct structure without knowing the actual encoded values.
The very rough idea is that checking t(s)h(s) = w(s)v(s) is identical to checking t(s)h(s) k = w(s)v(s) k for a random secret number k (which is not zero), with the difference that if you are sent only the numbers (t(s)h(s) k) and (w(s)v(s) k), it is impossible to derive t(s)h(s) or w(s)v(s).
(Christian Reitwiessner 2016)
Use Cases The largest use case for me is the global e-commerce industry, as this will allow for an immutable ledger of who owns what, at what time.
Core assets such as houses, cars, etc. This technology could theoretically replace deeds and registrations.
Timeline End of Q1 2018
o Finish mathematical structure and facilitation for storing ledger of physical assets
o Begin work on creating hardware/software solution to create distinct key for each physical asset
End of Q2 2018
o Depending on which ledger I implement, this phase will involve reforming ledger to meet demands of this project (This may stretch into Q3 2018)
o Release Beta version at the end of this phase
End of Q3 mid Q4 2018
o Continue development of ledger
o Build out APIs and toolkits
This is obviously not a definitive plan, just my thoughts on how quickly I believe I can accomplish different steps. As of now, I have no plans to create an ICO, and dont have an official white paper. I will be focusing on the code to ensure that this project is feasible. As you can tell by the banner design, I am no marketer or designer. I will answer any questions you guys may have on the project, and look forward to building this.
Please note, this announcement thread is a pre-ann and is not complete, I will update as the project progresses.
Sources/Credits:IOTA whitepaper:
https://iota.org/IOTA_Whitepaper.pdfRaiBlocks whitepaper:
https://raiblocks.net/media/RaiBlocks_Whitepaper.pdfzkSNARKs:
https://blog.ethereum.org/2016/12/05/zksnarks-in-a-nutshell/Bitcoin:
https://bitcoin.org/bitcoin.pdfIOTA vs RaiBlocks Technical Discussion:
https://hackernoon.com/iota-vs-raiblocks-413679bb4c3e