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

    [ANN] Link - The Blockchain File Sharing Protocol

    Technical Development
    19
    138
    72827
    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.
    • K
      Kevlar Spammer last edited by

      [quote name=“HopeStillFlies” post=“41254” timestamp=“1386440056”]
      Is there any way the concept of holding the magnet files can encourage or push people to use i2p for further security?

      I’m just envisioning people running the Link through Tor and going “Huh! It’s good enough for that. Let me go ahead run my torrent client through it.” and having a small nightmare about it.
      [/quote]

      Well they can run the blockchain download through the Tor network. That’s easy to do. I personally run my uTorrent over Tor and while I won’t max my bandwidth that way, it works well enough.

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

        Ok, I’ve made a few changes to the initial pass. Specifically I’ve changed it from a fixed-length block-based encoding scheme to a variable-length stream-based encoding scheme based on op-codes to maximize compression and minimize wasted space in the blockchain.

        Now is the time to get your op-codes submitted for inclusion. The list is far from complete, but please read the description of the ones suggested so far and if you have any ideas for other ones please let me know!

        https://github.com/TSavo/Link/blob/master/README.md

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

          Is there anything someone who doesn’t have cryptos to donate, and doesn’t have the underlying computer skills, can do to help? It think this idea is brilliant.

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

            [quote name=“Kevlar” post=“41313” timestamp=“1386448154”]
            Ok, I’ve made a few changes to the initial pass. Specifically I’ve changed it from a fixed-length block-based encoding scheme to a variable-length stream-based encoding scheme based on op-codes to maximize compression and minimize wasted space in the blockchain.

            Now is the time to get your op-codes submitted for inclusion. The list is far from complete, but please read the description of the ones suggested so far and if you have any ideas for other ones please let me know!

            [url=https://github.com/TSavo/Link/blob/master/README.md]https://github.com/TSavo/Link/blob/master/README.md[/url]
            [/quote]

            I would do this for opcodes:
            1st byte = module slot
            2nd byte = module function

            So what you have defined so far is module 0 - the core link module. I would move 10, 11, FE, FF to 0A, 0B, 0D, 0E.
            Module function 0 for all modules is the module key. Module function F for all modules is the extension range. Function 0 would identify the module we expect to be installed there. Function F would allow us to extend a module over several slots.

            The module key could be a digest of module name, version, VFW Post, geocaching GPS info, and other identifiers - they wouldn’t need to be listed, just the digest would need to match. The extension range would tell us the beginning and ending module slot which are allocated.

            So core module/module key = Opcode 00. The extension key just points to module slot 0 as beginning and end. Say module 1 is a track list and module 2 is a list of ratings. Then track list/module key = Opcode 10 and ratings list/module key = Opcode 20. Both would also have extension range with beginning and end 1,1 and 2,2.

            This means 14 functions per module slot. It allows for extreme extending of any concepts we want to add without getting lost. Core module in slot 0 is reserved for basic link protocol. I would suggest reserving slot F as well. The rest can be used by extenders. That leaves 14 slots of 14 functions each, for whatever we want to do. There is some duplication of info, but that may be the best way to do it.

            If this isn’t too weird, I’ll set up FLUX (Flux Link Unit eXchange) functions within this same scheme.

            One thing I would add (Peter Falk voice): some of these functions may require read write capability, but that’s for another time.

            One favor Kevlar, I want to be able to read these streams from nodejs just for correctness in encoding. I might need to check with you on that.

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

              [quote name=“zerodrama” post=“41331” timestamp=“1386453754”]
              I would do this for opcodes:
              1st byte = module slot
              2nd byte = module function
              [/quote]

              Sounds good. I’ll start organizing them next time I’m in the doc.

              [quote]
              One thing I would add (Peter Falk voice): some of these functions may require read write capability, but that’s for another time.
              [/quote]

              Yeah, I’ve thought about a version scheme. It wouldn’t be hard. You could just say that this transaction succeeds this prior transaction, and sign the whole thing for security so only intended authors could version.

              [quote]
              One favor Kevlar, I want to be able to read these streams from nodejs just for correctness in encoding. I might need to check with you on that.
              [/quote]

              Yep, I’m probably going to be doing the same in my initial pass. I’ve not decided on a language just yet. I’ll be sure to post anything nodish. Sails.js is lookin’ pretty rockin.

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

                [quote name=“Kevlar” post=“41346” timestamp=“1386455714”]
                [quote]
                One thing I would add (Peter Falk voice): some of these functions may require read write capability, but that’s for another time.
                [/quote]

                Yeah, I’ve thought about a version scheme. It wouldn’t be hard. You could just say that this transaction succeeds this prior transaction, and sign the whole thing for security so only intended authors could version.
                [/quote]

                I’m gonna experiment with soft-reorgs here. If it works we can expand it to end 51% attacks. This would allow a safe environment for large and small currencies unencumbered by the philosophies of big players or unreasonable devs (ONE TROO COIN).

                [quote]
                [quote]
                One favor Kevlar, I want to be able to read these streams from nodejs just for correctness in encoding. I might need to check with you on that.
                [/quote]

                Yep, I’m probably going to be doing the same in my initial pass. I’ve not decided on a language just yet. I’ll be sure to post anything nodish. Sails.js is lookin’ pretty rockin.
                [/quote]

                I normally hate frameworks (I want to know everything lol), but that looks very nice.

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

                  [quote name=“zerodrama” post=“41368” timestamp=“1386460296”]

                  I’m gonna experiment with soft-reorgs here. If it works we can expand it to end 51% attacks. This would allow a safe environment for large and small currencies unencumbered by the philosophies of big players or unreasonable devs (ONE TROO COIN).
                  [/quote]

                  So, this could mean an end to ACP?

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

                    [quote name=“Tuck Fheman” post=“41383” timestamp=“1386463986”]
                    [quote author=zerodrama link=topic=5558.msg41368#msg41368 date=1386460296]

                    I’m gonna experiment with soft-reorgs here. If it works we can expand it to end 51% attacks. This would allow a safe environment for large and small currencies unencumbered by the philosophies of big players or unreasonable devs (ONE TROO COIN).
                    [/quote]

                    So, this could mean an end to ACP?
                    [/quote]

                    The danger from 51% comes from two places:
                    1. 2 options - accepted or rejected - this gives us the > 50% value. FIX: create partial transactions, leading to more options, which will then require n-1/n of the network to override given n options.
                    2. no barrier once you cross the threshold - this means reorgs are free. FIX: make reorgs cost processing power

                    #1 is a logical puzzle and will take some sideways thinking
                    #2 can be implemented as a feature and generalized

                    ACP is a crutch. It will be removed eventually.

                    There are a couple more subtle reasons. But we’ll leave those for later.

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

                      And now for something completely different…

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

                        Ok, Payload op-codes are in, Meta-data op codes are up next. Also ZD’s organizational changes to op-codes has been implemented. 0 is Payload, 1 is Meta-data, and F is sequencing.

                        Anyone else have any other op-codes they would like to see?

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

                          [quote name=“Kevlar” post=“41442” timestamp=“1386475508”]
                          Ok, Payload op-codes are in, Meta-data op codes are up next. Also ZD’s organizational changes to op-codes has been implemented. 0 is Payload, 1 is Meta-data, and F is sequencing.

                          Anyone else have any other op-codes they would like to see?
                          [/quote]

                          Suhweet. :)

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

                            [quote name=“Kevlar” post=“41442” timestamp=“1386475508”]
                            Anyone else have any other op-codes they would like to see?
                            [/quote]

                            be gentle, I have no clue what’s possible or already handled by something else but …

                            If there will exist categories, will they be handled via the keywords?
                            (source file) File type.
                            (source file) File size.
                            A few “Arbitrary user-defined meta-data” to be used as users please. Possibly to cover the three above.

                            Edit : What about the ability to make these private? Sure the source file can be encrypted, but what about allowing entries to be private (password protected or otherwise) or the ability to designate who the source files are made available to be it individuals or a group or a continent, etc.

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

                              I’ll take #2 for Flux. I’ll play with some kind of module registration steps but we are go. o/.

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

                                [quote name=“Tuck Fheman” post=“41448” timestamp=“1386477154”]
                                [quote author=Kevlar link=topic=5558.msg41442#msg41442 date=1386475508]
                                Anyone else have any other op-codes they would like to see?
                                [/quote]

                                be gentle, I have no clue what’s possible or already handled by something else but …

                                If there will exist categories, will they be handled via the keywords?
                                (source file) File type.
                                (source file) File size.
                                A few “Arbitrary user-defined meta-data” to be used as users please. Possibly to cover the three above.
                                [/quote]

                                I’m not completely against that, but file type is discoverable from format in the beginning of the file. File size sounds like an important one tho.
                                Keep in mind, we can use modules now and modules can replace each other except 0 and F. 1 is a feature of Link so required for full Link, but it’s not as critical as the core and sequencing.

                                Think of it like mix and match modules in the same blockchain for custom applications without the 80+ odd coin.

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

                                  Kevlar, I think you did it better. With the exception of 0 and F, the 2nd byte F is the only one that needs to be explicitly describing the module itself.
                                  So now there’s 15 OpCodes for each module.

                                  0 is the core, F keeps it tied together, 1 is for users. I claim 2 (20 - 2F) for FLUX.

                                  EGGCELENTE.

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

                                    There’s no one else doing this lol. I love it. They’ll be cloning us soon.

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

                                      Kevlar, I forked the suppository. I’ll be working on Modules.md and modules/FLUX/README.md. Goosebumps.

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

                                        [quote name=“Tuck Fheman” post=“41448” timestamp=“1386477154”]
                                        If there will exist categories, will they be handled via the keywords?
                                        [/quote]

                                        Categories are something that can be left up to the users to define. For instance, they could make a special keyword that starts with a #, and whatever follows it is a category… “#tucksporn”. Then it’s up to the client how they want to deal with organizing them.

                                        [quote]
                                        (source file) File type.
                                        (source file) File size.
                                        [/quote]

                                        Included and included! 8)

                                        [quote]
                                        A few “Arbitrary user-defined meta-data” to be used as users please. Possibly to cover the three above.
                                        [/quote]

                                        Included! 3 for 3! :D

                                        [quote]
                                        Edit : What about the ability to make these private? Sure the source file can be encrypted, but what about allowing entries to be private (password protected or otherwise) or the ability to designate who the source files are made available to be it individuals or a group or a continent, etc.
                                        [/quote]

                                        Well, it’s the blockchain. You can’t specify who can/can’t see the blockchain. Encryption is the correct solution.

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

                                          [quote name=“zerodrama” post=“41449” timestamp=“1386477214”]
                                          I’ll take #2 for Flux. I’ll play with some kind of module registration steps but we are go. o/.
                                          [/quote]

                                          Perfect. :) 2 is reserved for Flux!

                                          [quote author=zerodrama link=topic=5558.msg41457#msg41457 date=1386478519]
                                          Kevlar, I forked the suppository. I’ll be working on Modules.md and modules/FLUX/README.md. Goosebumps.
                                          [/quote]

                                          Awesome! Very excited. ;D

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

                                            [quote name=“Kevlar” post=“41459” timestamp=“1386479163”]
                                            “#tucksporn”
                                            [/quote]

                                            lulz

                                            [quote author=Kevlar link=topic=5558.msg41459#msg41459 date=1386479163]
                                            Included! 3 for 3! :D
                                            [/quote]

                                            [Celebratory GIF]

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