Forum Home
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular

    [ANN] Link - The Blockchain File Sharing Protocol

    Technical Development
    19
    138
    72838
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ?
      A Former User last edited by

      [quote name=“Kevlar” post=“42776” timestamp=“1386717642”]
      Yo, dawg! I hear you like blockchains… so I embedded a blockchain in your blockchain, so you can meta while you meta!
      [/quote]

      XD

      Permission to make this into a meme.

      1 Reply Last reply Reply Quote 0
      • K
        Kevlar Spammer last edited by

        [quote name=“mnstrcck” post=“42864” timestamp=“1386742285”]
        Kevlar,

        Awesome work. I’m very excited for this project.
        If you need help with designing the UI, let me know!
        [/quote]

        [quote author=Calem link=topic=5558.msg42869#msg42869 date=1386742918]
        Permission to make this into a meme.
        [/quote]

        I do, and I will. You’ll be the first on my list!

        [quote author=Calem link=topic=5558.msg42869#msg42869 date=1386742918]
        [quote author=Kevlar link=topic=5558.msg42776#msg42776 date=1386717642]
        Yo, dawg! I hear you like blockchains… so I embedded a blockchain in your blockchain, so you can meta while you meta!
        [/quote]

        XD

        Permission to make this into a meme.
        [/quote]

        Permission granted!

        1 Reply Last reply Reply Quote 0
        • K
          Kevlar Spammer last edited by

          So I spent the evening changing over the code to coffeescript. LOVE that language. So much easier to read and write. All the work is up on git. ‘npm install -g coffee-script’ to get going. I’ve still not gotten to read Modules.md from ZD, but I will tomorrow.

          I’ve gotten about half of the encoder/decoder up to the spec. It’s doing SHA256 correctly on payloads, and payload attachments are returned as buffers on the decoder. The encoding and decoding functions are in place, the op codes are in, but the encoder doesn’t encode everything yet, and decoder objects don’t yet support all the opcodes that can be encoded.

          I still need to move all of this to a library that exports so other people can use it. That and make it an NPM module.

          I found node-bitcoin for talking to the QT feathercoin client, going to use that. ‘npm install bitcoin’.

          The plan is to make the QT client make the raw transactions, so all that remains is to get the unspent outputs and do the math on what’s being sent and make the change accordingly. Shouldn’t be terrible, but I won’t get to it until the weekend, because I’m trying to get the encoder/decoder all up to the spec and get it into a proper node library/npm package.

          Progress is steady. Every night I get a little more done. Hopefully by tomorrow the encoder/decoder will be at 80% so I can move on to transaction building over the weekend. Onward and upward.

          1 Reply Last reply Reply Quote 0
          • T
            Tuck Fheman last edited by

            [quote name=“Kevlar” post=“42924” timestamp=“1386754878”]
            Progress is steady. Every night I get a little more done. Hopefully by tomorrow the encoder/decoder will be at 80% so I can move on to transaction building over the weekend. Onward and upward.
            [/quote]

            Thanks for doing this for everyone in the world Kevlar!

            1 Reply Last reply Reply Quote 0
            • N
              Nixxle last edited by

              [quote name=“Tuck Fheman” post=“43168” timestamp=“1386795518”]
              [quote author=Kevlar link=topic=5558.msg42924#msg42924 date=1386754878]
              Progress is steady. Every night I get a little more done. Hopefully by tomorrow the encoder/decoder will be at 80% so I can move on to transaction building over the weekend. Onward and upward.
              [/quote]

              Thanks for doing this for everyone in the world Kevlar!
              [/quote]

              Here here!

              1 Reply Last reply Reply Quote 0
              • H
                HopeStillFlies Regular Member last edited by

                [url=http://torrentfreak.com/pirate-bay-docks-in-peru-new-system-will-make-domains-irrelevant-131212/]http://torrentfreak.com/pirate-bay-docks-in-peru-new-system-will-make-domains-irrelevant-131212/[/url]

                Think they’re monitoring the work?

                1 Reply Last reply Reply Quote 0
                • K
                  Kevlar Spammer last edited by

                  [quote name=“HopeStillFlies” post=“43641” timestamp=“1386897476”]
                  [url=http://torrentfreak.com/pirate-bay-docks-in-peru-new-system-will-make-domains-irrelevant-131212/]http://torrentfreak.com/pirate-bay-docks-in-peru-new-system-will-make-domains-irrelevant-131212/[/url]

                  Think they’re monitoring the work?
                  [/quote]

                  I kinda doubt it, but maybe. It’s very interesting to note how a solution for this particular problem is in crazy-high demand right now. I guess we’re doing something right, and this is validation of that.

                  1 Reply Last reply Reply Quote 0
                  • T
                    Tuck Fheman last edited by

                    [quote name=“Kevlar” post=“43644” timestamp=“1386898249”]
                    I kinda doubt it, but maybe. It’s very interesting to note how a solution for this particular problem is in crazy-high demand right now. I guess we’re doing something right, and this is validation of that.
                    [/quote]

                    I was listening to the creator of “Proof of Existence” and he mentions that there is a better way to do what he’s doing (link below). I’m assuming what you have here (Link) is along the same lines as his program (PoE) in they both leave unspendable outputs(?). If that’s the case, as they ask in the discussion, how can you prove it’s unspendable?

                    If this has nothing to do with the way Link handles things, just brush this question aside.

                    [url=http://youtu.be/6YHiuZeWyrE?t=8m11s]http://youtu.be/6YHiuZeWyrE?t=8m11s[/url]

                    1 Reply Last reply Reply Quote 0
                    • zerodrama
                      zerodrama Regular Member last edited by

                      Link is PoE * over 9000.

                      With multiple links, you can have Proof of Evidence or Research which would could invalidate bullshit patents.

                      1 Reply Last reply Reply Quote 0
                      • K
                        Kevlar Spammer last edited by

                        [quote name=“Tuck Fheman” post=“43667” timestamp=“1386903389”]
                        [quote author=Kevlar link=topic=5558.msg43644#msg43644 date=1386898249]
                        I kinda doubt it, but maybe. It’s very interesting to note how a solution for this particular problem is in crazy-high demand right now. I guess we’re doing something right, and this is validation of that.
                        [/quote]

                        I was listening to the creator of “Proof of Existence” and he mentions that there is a better way to do what he’s doing (link below). I’m assuming what you have here (Link) is along the same lines as his program (PoE) in they both leave unspendable outputs(?). If that’s the case, as they ask in the discussion, how can you prove it’s unspendable?

                        If this has nothing to do with the way Link handles things, just brush this question aside.

                        [url=http://youtu.be/6YHiuZeWyrE?t=8m11s]http://youtu.be/6YHiuZeWyrE?t=8m11s[/url]
                        [/quote]

                        That’s correct.

                        The short answer to your question is: You can’t. It’s just an assumption that I’m making.

                        The long answer is a little more involved.

                        Link works by encoding data into the public key, and then spending an output to it. Link encoded addresses are unspendable because it’s not generated by deriving the public key from a private one, it’s generated from the data you encode, which has absolutely no relation to any private key.

                        Public keys are derived from private keys. It’s mathematically trivial to generate the corresponding public key from the private key. Going the other way is theoretically possible, but the only known method is brute force, which means you’d have to search the keyspace for the answer. Remember a little while back directory.io made waves because it was a website that had every single private key, ever? Well, in fact the private key to every possible Link encoding is on that website, but it’s impossible to know ahead of time which one it is, so you would have to try every single one. As I back-of-the-napkined earlier, if you had a computer that was trying 999 trillion (that’s with a t, not a b or an m) keys every second, you’d exhaust 50% of the keyspace in 4.5 billion (with a b) years, which means that you’d have a 50% chance of having found the solution in that time. To bring that number back home, my laptop can search about 1,000 keys a second.

                        The theory behind Link’s unspendability is that given an encoding of some arbitrary data, the likelyhood of someone having the corresponding private key is exactly the same as ANY OTHER key. Since the public key isn’t being derived from a private one, but instead formed of the data that’s being encoded in the blockchain, the corresponding private key is as likely to show up as someone randomly generating the corresponding private key for someone else coins… and that number will blow your mind: 2^256. That’s a little larger than a 1 followed by 77 zeroes. The number of private keys that are possible is greater than the number of grains of sand on the earth. If every single grain of sand on the earth was another earth, the number of keys is greater than all the grains of sand on all the earths. Here’s another way of thinking about it: If every human that was ever born to date had been around since the start of the 1900’s, and every cell in their collective bodies was each checking keys at a rate of 10 keys a second, it would take over 300 trillion years more to reach just 10%.

                        Link relies on the same theory that your randomly generated key is as unspendable to me as any other private key I don’t have. If that assumption proves false, then Bitcoin is worth 0 dollars and 0 cents, because that means anyone could spend anyone’s money. If the Link unspendability assumption fails, then the Bitcoin assumption fails, and we can all go home and reminisce about the time when we fooled ourselves into thinking technology was cool.

                        As a scientist and mathematician, I’m quite comfortable putting my entire wealth’s safe keeping behind this assumption. I sleep at night just fine knowing my coins aren’t going anywhere without my permission… and my private key. If that assumption is true, then the assumption that Link outputs are unspendable is equally true.

                        1 Reply Last reply Reply Quote 0
                        • zerodrama
                          zerodrama Regular Member last edited by

                          [quote name=“Kevlar” post=“43670” timestamp=“1386906745”]
                          [quote author=Tuck Fheman link=topic=5558.msg43667#msg43667 date=1386903389]
                          [quote author=Kevlar link=topic=5558.msg43644#msg43644 date=1386898249]
                          I kinda doubt it, but maybe. It’s very interesting to note how a solution for this particular problem is in crazy-high demand right now. I guess we’re doing something right, and this is validation of that.
                          [/quote]

                          I was listening to the creator of “Proof of Existence” and he mentions that there is a better way to do what he’s doing (link below). I’m assuming what you have here (Link) is along the same lines as his program (PoE) in they both leave unspendable outputs(?). If that’s the case, as they ask in the discussion, how can you prove it’s unspendable?

                          If this has nothing to do with the way Link handles things, just brush this question aside.

                          [url=http://youtu.be/6YHiuZeWyrE?t=8m11s]http://youtu.be/6YHiuZeWyrE?t=8m11s[/url]
                          [/quote]

                          That’s correct.

                          The short answer to your question is: You can’t. It’s just an assumption that I’m making.

                          The long answer is a little more involved.

                          Link works by encoding data into the public key, and then spending an output to it. Link encoded addresses are unspendable because it’s not generated by deriving the public key from a private one, it’s generated from the data you encode, which has absolutely no relation to any private key.

                          …

                          The theory behind Link’s unspendability is that given an encoding of some arbitrary data, the likelyhood of someone having the corresponding private key is exactly the same as ANY OTHER key.
                          [/quote]

                          I’m getting ideas. :)

                          1 Reply Last reply Reply Quote 0
                          • ?
                            A Former User last edited by

                            [img]https://i.chzbgr.com/maxW500/7952788224/hA4452822/[/img]

                            Don’t mean to be off topic but I finally got around to it. =^-^=

                            1 Reply Last reply Reply Quote 0
                            • T
                              Tuck Fheman last edited by

                              [quote name=“Kevlar” post=“43670” timestamp=“1386906745”]
                              Link works by …
                              [/quote]

                              k, thanks for explaining that!

                              1 Reply Last reply Reply Quote 0
                              • A
                                algo160 last edited by

                                [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! :)

                                1 Reply Last reply Reply Quote 0
                                • K
                                  Kevlar Spammer last edited by

                                  [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!

                                  1 Reply Last reply Reply Quote 0
                                  • zerodrama
                                    zerodrama Regular Member last edited by

                                    [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?

                                    1 Reply Last reply Reply Quote 0
                                    • K
                                      Kevlar Spammer last edited by

                                      [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.

                                      1 Reply Last reply Reply Quote 0
                                      • K
                                        Kevlar Spammer last edited by

                                        [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?

                                        1 Reply Last reply Reply Quote 0
                                        • zerodrama
                                          zerodrama Regular Member last edited by

                                          [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.

                                          1 Reply Last reply Reply Quote 0
                                          • K
                                            Kevlar Spammer last edited by

                                            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.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post