[ANN] Link - The Blockchain File Sharing Protocol
-
[quote name=“Kevlar” post=“43670” timestamp=“1386906745”]
Link works by …
[/quote]k, thanks for explaining that!
-
[quote name=“Kevlar” post=“40832” timestamp=“1386378867”]
I’ve decided to do this. Feathercoin will be the first blockchain I write it for, but there’s no reason it can’t be adapted to other blockchains.Github is here: https://github.com/TSavo/Link/blob/master/README.md
Link is a protocol designed to allow publishing of data and associated meta-data to the public in such a way that it cannot be censored or destroyed. It works on top of existing blockchain protocols to store it’s data by embedding the information in the blockchain itself.
The protocol itself will be blockchain agnostic and allow for arbitrarily large metadata to be stored in the blockchain. Messages can be virtually unlimited in length, and are protected against spamming because they require coins to be destroyed in the process of publishing the message, making larger messages more expensive to send.
I’ll be writing the specification in the gihub.com repository. I’m also going to have the first pass at a reference client. The client will have a search feature which will allow you to read an existing blockchain on disk, index the blockchain’s Link metadata, search it, and use protocol handlers to launch any linked information at the user’s discretion.
I’d love to hear any comments, ideas, discussions, screams of agony, or suggestions! Let the Linking begin!
[/quote]
This looks very good! I’ll get on it, because I hate the long sync times. Well, I hope you accept pull requests! :) -
[quote name=“algo160” post=“44118” timestamp=“1387002802”]
[quote author=Kevlar link=topic=5558.msg40832#msg40832 date=1386378867]
I’ve decided to do this. Feathercoin will be the first blockchain I write it for, but there’s no reason it can’t be adapted to other blockchains.Github is here: https://github.com/TSavo/Link/blob/master/README.md
Link is a protocol designed to allow publishing of data and associated meta-data to the public in such a way that it cannot be censored or destroyed. It works on top of existing blockchain protocols to store it’s data by embedding the information in the blockchain itself.
The protocol itself will be blockchain agnostic and allow for arbitrarily large metadata to be stored in the blockchain. Messages can be virtually unlimited in length, and are protected against spamming because they require coins to be destroyed in the process of publishing the message, making larger messages more expensive to send.
I’ll be writing the specification in the gihub.com repository. I’m also going to have the first pass at a reference client. The client will have a search feature which will allow you to read an existing blockchain on disk, index the blockchain’s Link metadata, search it, and use protocol handlers to launch any linked information at the user’s discretion.
I’d love to hear any comments, ideas, discussions, screams of agony, or suggestions! Let the Linking begin!
[/quote]
This looks very good! I’ll get on it, because I hate the long sync times. Well, I hope you accept pull requests! :)
[/quote]I do! Let me commit the latest changes… Ok! And it’s up in github and npm. You can get started by typing ‘npm install blockchain-link’. Or get the source from Github.
Looking forward to your commits!
-
[quote name=“Kevlar” post=“44128” timestamp=“1387004871”]
[quote author=algo160 link=topic=5558.msg44118#msg44118 date=1387002802]
[quote author=Kevlar link=topic=5558.msg40832#msg40832 date=1386378867]
I’ve decided to do this. Feathercoin will be the first blockchain I write it for, but there’s no reason it can’t be adapted to other blockchains.Github is here: [url=https://github.com/TSavo/Link/blob/master/README.md]https://github.com/TSavo/Link/blob/master/README.md[/url]
Link is a protocol designed to allow publishing of data and associated meta-data to the public in such a way that it cannot be censored or destroyed. It works on top of existing blockchain protocols to store it’s data by embedding the information in the blockchain itself.
The protocol itself will be blockchain agnostic and allow for arbitrarily large metadata to be stored in the blockchain. Messages can be virtually unlimited in length, and are protected against spamming because they require coins to be destroyed in the process of publishing the message, making larger messages more expensive to send.
I’ll be writing the specification in the gihub.com repository. I’m also going to have the first pass at a reference client. The client will have a search feature which will allow you to read an existing blockchain on disk, index the blockchain’s Link metadata, search it, and use protocol handlers to launch any linked information at the user’s discretion.
I’d love to hear any comments, ideas, discussions, screams of agony, or suggestions! Let the Linking begin!
[/quote]
This looks very good! I’ll get on it, because I hate the long sync times. Well, I hope you accept pull requests! :)
[/quote]I do! Let me commit the latest changes… Ok! And it’s up in github and npm. You can get started by typing ‘npm install blockchain-link’. Or get the source from Github.
Looking forward to your commits!
[/quote]Got a few coming soon. Mind if I move things around to doc/ module/ tool/ and lib/ folders?
-
[quote name=“zerodrama” post=“44900” timestamp=“1387180804”]
[quote author=Kevlar link=topic=5558.msg44128#msg44128 date=1387004871]
[quote author=algo160 link=topic=5558.msg44118#msg44118 date=1387002802]
[quote author=Kevlar link=topic=5558.msg40832#msg40832 date=1386378867]
I’ve decided to do this. Feathercoin will be the first blockchain I write it for, but there’s no reason it can’t be adapted to other blockchains.Github is here: [url=https://github.com/TSavo/Link/blob/master/README.md]https://github.com/TSavo/Link/blob/master/README.md[/url]
Link is a protocol designed to allow publishing of data and associated meta-data to the public in such a way that it cannot be censored or destroyed. It works on top of existing blockchain protocols to store it’s data by embedding the information in the blockchain itself.
The protocol itself will be blockchain agnostic and allow for arbitrarily large metadata to be stored in the blockchain. Messages can be virtually unlimited in length, and are protected against spamming because they require coins to be destroyed in the process of publishing the message, making larger messages more expensive to send.
I’ll be writing the specification in the gihub.com repository. I’m also going to have the first pass at a reference client. The client will have a search feature which will allow you to read an existing blockchain on disk, index the blockchain’s Link metadata, search it, and use protocol handlers to launch any linked information at the user’s discretion.
I’d love to hear any comments, ideas, discussions, screams of agony, or suggestions! Let the Linking begin!
[/quote]
This looks very good! I’ll get on it, because I hate the long sync times. Well, I hope you accept pull requests! :)
[/quote]I do! Let me commit the latest changes… Ok! And it’s up in github and npm. You can get started by typing ‘npm install blockchain-link’. Or get the source from Github.
Looking forward to your commits!
[/quote]Got a few coming soon. Mind if I move things around to doc/ module/ tool/ and lib/ folders?
[/quote]There’s already a lib/, it’s where compiled code goes as per the node convention. doc/ module/ and tool/ sound great.
-
[quote name=“zerodrama” post=“44900” timestamp=“1387180804”]
[quote author=Kevlar link=topic=5558.msg44128#msg44128 date=1387004871]
Looking forward to your commits!
[/quote]Got a few coming soon. Mind if I move things around to doc/ module/ tool/ and lib/ folders?
[/quote]In the latest version of the library all the event handlers are treated as asynchronus data pipes to which data is fed, as opposed to callbacks to which results are returned. That means that when doing:
[code]
db.search “mySearchString”, (result)->
[/code]The callback may be called multiple times, once with each result… or not at all with no results. Previously this would be called once with all results or an empty array.
This allows for asynchronous operation on the client side as well, which has been implemented for search, and will soon be done for publishing.
ZD: Any update on those commits?
-
[quote name=“Kevlar” post=“45915” timestamp=“1387397322”]
ZD: Any update on those commits?
[/quote]Yeah. Trying to figure out how to represent exchanges as a mining operation. I’ll get it later tonight.
-
We’re on schedule too!!
Today I got a Backbone.js router in place so deep linking works. Looks REAL good. Still waiting on CSS for search results, but it won’t be long now.
I’ll do another video update this weekend to show it off.
-
Hello Kevlar
Thank you for all your hard work. I don’t have a clue what you are doing. I hope to understand more as your work
gets the rave reviews around the crypto world and here on the Feathercoin site.
Sent 5 Feathercoin your way for assisting you in a small way. If everyone here would give you 5, that would be add up I am sure. Knowing of course, that others have given much much more. As you move ahead in your work, I will donate more to the cause. This is my second send out of my wallet, since I have updated my wallet.
I am more than willing to donate along the way from time to time, to keep the good people here that really does the heavy lifting for those of us that love Feathercoin.
Thank you again
fkimbe -
I put Kevlar in the blockchain (well, sort of). :)
-
Great work, I didn’t think I could fit anything else in my brain. I managed one last waffer thin Kevlar mint…
-
hehe…
Just one last waffer!
*boom!*
-
I have been trying to figure out exactly what this is all about, but can’t help but come to the conclusion that this is a bad idea. NMC as far as I know acts as a general data store in a similar fashion, but why should any blockchain be polluted with the idea of p2p file sharing? Why not just create a complementary service that allows one to exchange space in this “permanent” blob of data and reward those willing to host and serve out this ever growing dirty snowball of who knows what?
Maybe I don’t understand this idea, but while I think it’d be interesting to marry the idea of an immortal blockchain for data, I just don’t think FTC would benefit from this at all. And why would one want to destroy coins again for this purpose? I would appreciate some clearer explanation of what exactly this is all about. Thanks!
-
[quote name=“estrabd” post=“55971” timestamp=“1391053574”]
I have been trying to figure out exactly what this is all about, but can’t help but come to the conclusion that this is a bad idea. NMC as far as I know acts as a general data store in a similar fashion, but why should any blockchain be polluted with the idea of p2p file sharing? Why not just create a complementary service that allows one to exchange space in this “permanent” blob of data and reward those willing to host and serve out this ever growing dirty snowball of who knows what?Maybe I don’t understand this idea, but while I think it’d be interesting to marry the idea of an immortal blockchain for data, I just don’t think FTC would benefit from this at all. And why would one want to destroy coins again for this purpose? I would appreciate some clearer explanation of what exactly this is all about. Thanks!
[/quote]it’s not file sharing.
file sharing is the easiest example to understand.
the blockchain is not money.
it’s a record of unforgeable events.
the address space is not accounts.
it’s a space of identifiable assets.there is no pollution.
the addresses can’t contain that much data anyway.it’s an application over a distributed index.
money was the first app.
links to things is the next one.we’re not storing files.
we are preventing references from being deleted.the real problem is the data portion of the blockchain was only envisioned to contain money.
the blockchain can do a hell of a lot more.also namecoin has a rigid structure that is difficult to adapt to radical ideas.
-
Alright, I’m ready to take another dive on doing something with LINK. Feedback is always great, which is why I’m posting.
-First, another coin implementation. After no communication from the MoonCoin staff for, well, now months, I’m abandoning them. I will now be focusing on Fedoracoin for this and will not be communicating with the staff at all. If the ability gets yoinked, it gets yoinked. With the flood of coins out there, though, I don’t want to start a new one. I’m a realist; I see a future for a hundred different coins according to niche and region need, I certainly don’t think one I copypasta from someone’s readme will be one of them.
-I will be altering the code from IDigDoge. One should be able to mine a FedoraCoin or two from CPU power only for submissions. Right now the payout process isn’t automated, it’s manual and it’s dependent on email. I’m going to investigate how frustrating it will be to create an account on the site that autogenerates a wallet that is deposited into and can be withdrawn from there to a personal wallet or the LINK payment address for a pending submission with a button press as opposed to copypastaing the addresses and amounts for submission.
-Here’s where it gets shady. Instead of relying on a pool that already exists that will be very confused about so much hash coming from so many locations into one account (something IDigDoge is dependent on), I plan on building my own pool instead of risking them going “lol noep” and blacklisting the service. The biggest reason for this, too, is to force the lone client to divy up the percentage payout. 10% to go to a buffer for when things go wrong and to fund a faucet directly on the site, 15% to payout to me because dammit, that’s the point. Will fluctuate or eliminate based on purchase referrals to who I have a VPN sales commission agreement with.
I presume my non-SSH capable shared hosting will poop a brick by trying to implement any of this on it. I’ve got an AWS account ready to go, I’ve got at least one micro instance running a different project, don’t know what my needs will be for the above so will look into it.
Um. Destroy it. Poke holes in it. Go.
-
-First, another coin implementation. After no communication from the MoonCoin staff for, well, now months, I’m abandoning them. I will now be focusing on Fedoracoin for this and will not be communicating with the staff at all. If the ability gets yoinked, it gets yoinked. With the flood of coins out there, though, I don’t want to start a new one. I’m a realist; I see a future for a hundred different coins according to niche and region need, I certainly don’t think one I copypasta from someone’s readme will be one of them.
I did this; abandoned MoonCoin, communicated with Fedoracoin devs, more than happy to provide feedback and help.
I may return to MoonCoin as a side because their devs are nonexistent but still have a community of sorts. Without their devs to get in my way, I can do as I please. In the meantime, though, Fedoracoin for this.
-I will be altering the code from IDigDoge. One should be able to mine a FedoraCoin or two from CPU power only for submissions. Right now the payout process isn’t automated, it’s manual and it’s dependent on email. I’m going to investigate how frustrating it will be to create an account on the site that autogenerates a wallet that is deposited into and can be withdrawn from there to a personal wallet or the LINK payment address for a pending submission with a button press as opposed to copypastaing the addresses and amounts for submission.
I’ve accomplished this:
http://tippingintensifies.com/
Still work to be done on it, but the heavy lifting is done.
-Here’s where it gets shady. Instead of relying on a pool that already exists that will be very confused about so much hash coming from so many locations into one account (something IDigDoge is dependent on), I plan on building my own pool instead of risking them going “lol noep” and blacklisting the service. The biggest reason for this, too, is to force the lone client to divy up the percentage payout. 10% to go to a buffer for when things go wrong and to fund a faucet directly on the site, 15% to payout to me because dammit, that’s the point. Will fluctuate or eliminate based on purchase referrals to who I have a VPN sales commission agreement with.
Ditched making my own pool and worrying about percentages. Right now on the site I have a 0% take which may change in the future or may not depending on how much gets plowed through payment processes instead of kept.
I got with a pool that acknowledges what I’m doing and says they won’t shut me down. Chickenstrips.net. They’ve been really cool.
I presume my non-SSH capable shared hosting will poop a brick by trying to implement any of this on it. I’ve got an AWS account ready to go, I’ve got at least one micro instance running a different project, don’t know what my needs will be for the above so will look into it.
It did poop a brick. AWS got ridiculously expensive, I went back to DigitalOcean. Been running mostly trouble free on it.
Um. Destroy it. Poke holes in it. Go.
YOUR INABILITY TO THRASH ME HAS BEEN A DISMAL FAILURE
Nah, really, it’s not necessary since I’m doing it anyway.
Long of the short of it, though, is anyone still in contact with Kevlar? He’s not answering my emails.
-
Thanks for the update always an interesting view on the projects status and progression.
As for kevlar he did pop in on April 1st for the prank but I’ve not seen him since. :(
-
Saving a template for promoting Link.I tried making this post over at forum.utorrent.com but it was deleted and I was blocked the second I requested the thread be unlocked.
I’m sure many of you have heard of bitcoin, altcoins, and the general crypto currency network. What many do not understand yet, is the potential applications for what is known as the blockchain. A guy named Travis Savo has created an open source protocol which decentralises magnet links within the blockchain of crypto coins which currently accept it. I don’t think I need to explain to potential effect this will have.
On the uTorrent forum, the user who deleted my post and banned my ip assumed it would cost money.
“Umm, so you need to pay to download stuff, then?
I think I’ll pass, haha.”When publishing, one needs to “burn” only a very small amount of feathercoin (or any crypto which implements Link) to embed the magnet link into the blockchain. We are talking fractions of US cent. Run the mining program for an hour and you will have enough ftc to embed multiple links.
There are a few magnet links already embedded in the ftc blockchain and it works like a charm.
From the site:
Link is an open source protocol for embedding data in the blockchain of Crypto-currencies.
Why would you want to do that?
Crypto-currencies like Bitcoin have a number of useful properties which Link exploits:
- The blockchain is built on a peer-to-peer network which makes broadcasting of data far and wide easy to accomplish.
- The blockchain is verified by all the participants in the network, meaning data embedded within it cannot become corrupted.
- The blockchain is used as a record of account, so it already has existing utility, meaning it’s less likely to be censored.
- The act of embedding data in the blockchain via the Link protocol requires users to spend their coins, meaning there’s a cost associated with publishing.
By building on these foundational properties, Link allows anyone to publish data in a way that is effectively anonymous, and will be very hard to censor, yet easy to find.
Does it destroy coins?
Yes. Every publish requires spending to addresses for which the private key isn’t known. This causes further deflation of the currency, making the existing coins more valuable.
*But won’t this bloat the blockchain?*
While the blockchain will increase in size with every piece of data published, because the coins are being destroyed, they can never move again. This means they will never generate another transaction to increase the size of the blockchain. Any cost in size is paid once and never again, as opposed to when coins transfer ownership and will subsequently generate more transaction. If the blockchain was only used for this purpose, there would be an upper limit on the blockchain size, as opposed to the present assumption that it will grow forever. So while adding data to the blockchain will increase the size of it, it can’t possibly increase it more than sending coins around.
The Link Protocol was developed by Travis Savo with a lot of help from the Feathercoin community, and the undying support of his incredible wife.
All code is open source, and alternative implementations of the Link Protocol are encouraged.
The Link Protocol specification can be found here: https://github.com/T…aster/README.md
The Link reference library for Node.JS can be found here: https://github.com/TSavo/Link
The Link Web App (what you’re using now) can be found here: https://github.com/TSavo/Link-server
-
Kevlar has gotten back in touch with me. He’s alive and well, assisting me with my take on this project, just extremely busy.
-
Oh good glad you have some support seems quite complex what your doing and kevlars gotta be the best person to work with.