Title: bitcoin transaction: offline relay vs off-chain processing Post by: aliashraf on February 16, 2019, 12:48:02 PM Following link is an article including a guide to something the author insists to call offline bitcoin transactions, such schemes are trending nowadays:
https://medium.com/@notgrubles/completely-offline-bitcoin-transactions-4e58324637bd It is 5 min read and if you would bother taking a look, you would easily grab the point: 1- We have a wallet full node/spv with no outbound connection just using BlockStream Satellite service. 2- Somehow we decide to send few coins to an address. 3- We generate a signed txn using our wallet, as we don't have outbound connections, without trying to relay we store it as raw text or a QR image. 4- We use a non-internet message relay system (like TxTenna (https://txtenna.com/)or LoraWan (https://lora-alliance.org/about-lorawan)) or we can simply post our txn to either the receiver herself and get txn relayed to the actual p2p network. 5- Once the transaction is included in the blockchain, our one-way satellite link with BlockStream lets our node to be informed of the event because the whole block is broadcasted using a push protocol anyway. It would be easy to criticize this model for its dependency on BlockStream Satellite service. Though, I don't like trivial takes when it comes to such schemes and in this case it is more than obvious that our node/wallet is exclusively bound to a trusted source, so what? The main advantage of this model is its censorship/surveillance resistance, we are not present on internet and they just can't track/block our ip and it is good but is it good enough? No, it is not: First of all I think it is too much to call such a simple model offline transaction it is just confusing, using a non-ip relay network to send your transactions doesn't make bitcoin or its transaction processing offline. It is just an offline transaction relay model, nothing more and it is not enough as I said. Alternatively I'm working on a true offline technology which I prefer to call it off-chain transaction processing that I will discuss in more details about it in next posts. For the starter I wanted to know how do you guys think about this subject and perceive this term: off-chain transaction processing. Heads up, I'm not talking about LN or side chains, ... it is bitcoin transactions being processed offline. Again it would be easy to denounce such a concept as paradoxical or ambiguous but as I said, trivial takes are not helpful. Saying things like: "Hey, as long as we are speaking of bitcoin transactions, they are processed on-chain", wouldn't help as we are all aware of that. To be a bit more specific by off-chain bitcoin transaction processing I mean a technology that allows wallets to exchange bitcoin txns, just like paper money/bills, multiple times with multiple parties engaged without leaving any trace on the blockchain other than circumstances that one of the parties, decides to deposit it. Title: Re: bitcoin transaction: offline relay vs off-chain processing Post by: khaled0111 on February 17, 2019, 12:17:52 AM After reading the article you mentioned, I think the author should change the title from "completely offline bitcoin transactions" to something like "I asked someone else's help to broadcast my bitcoin transaction".
https://medium.com/@notgrubles/completely-offline-bitcoin-transactions-4e58324637bd Quote Areas without access to fast broadband connections can now trustlessly verify Bitcoin blocks and transactions I didn't find anything describing how to verify transactions offline (without going through the p2p network) in the article.Title: Re: bitcoin transaction: offline relay vs off-chain processing Post by: achow101 on February 17, 2019, 12:28:23 AM I didn't find anything describing how to verify transactions offline (without going through the p2p network) in the article. Blocks were received over Blockstream satellite which only works in one direction (satellite sends to you). These blocks can be verified without needing any network connection.First of all I think it is too much to call such a simple model offline transaction it is just confusing, using a non-ip relay network to send your transactions doesn't make bitcoin or its transaction processing offline. No one said that it was offline transaction processing. What he did was offline transaction relay. Relay and processing are two different things.Offline processing is already a thing. You don't need an internet connection to process the blockchain if you already have it. Alternatively I'm working on a true offline technology which I prefer to call it off-chain transaction processing that I will discuss in more details about it in next posts. For the starter I wanted to know how do you guys think about this subject and perceive this term: off-chain transaction processing. Heads up, I'm not talking about LN or side chains, ... it is bitcoin transactions being processed offline. That is not "offline". Off chain does not mean it is offline, and vice versa. E.g., Lighting can be done offline, but it is still kind of on-chain (as it relies on funding and closing on chain). Likewise, you could say Lightning is off-chain (The actual transactions are off chain) but not offline.Again it would be easy to denounce such a concept as paradoxical or ambiguous but as I said, trivial takes are not helpful. Saying things like: "Hey, as long as we are speaking of bitcoin transactions, they are processed on-chain", wouldn't help as we are all aware of that. To be a bit more specific by off-chain bitcoin transaction processing I mean a technology that allows wallets to exchange bitcoin txns, just like paper money/bills, multiple times with multiple parties engaged without leaving any trace on the blockchain other than circumstances that one of the parties, decides to deposit it. Title: Re: bitcoin transaction: offline relay vs off-chain processing Post by: KingZee on February 17, 2019, 05:34:43 AM I don't get the interest in these "offline" solutions.
Off-chain is feasible, like achow said, lightning network transactions & channels are off-chain, only become on-chain once a channel is closed or open. It has its benefits in relaxing the network from a certain amount of transactions. But what's the benefit of these "offline" solutions, if they're going to rely on a centralized entity? If you let the blockstream satellite be the middle man between your transaction and the network, you're instantly dooming the entire "offline" bitcoin world to a sybil attack. Blockstream will have the choice to include whatever tx they want, and maybe in the future even charge people for offline transactions. These solutions aren't "offline", and I don't even see the interest or the appeal. Title: Re: bitcoin transaction: offline relay vs off-chain processing Post by: aliashraf on February 17, 2019, 03:04:54 PM First of all I think it is too much to call such a simple model offline transaction it is just confusing, using a non-ip relay network to send your transactions doesn't make bitcoin or its transaction processing offline. No one said that it was offline transaction processing. What he did was offline transaction relay. Relay and processing are two different things.Offline processing is already a thing. You don't need an internet connection to process the blockchain if you already have it. {you mis-quoted in your original reply on @khaled's id} That is not "offline". Off chain does not mean it is offline, and vice versa. E.g., Lighting can be done offline, but it is still kind of on-chain (as it relies on funding and closing on chain). Likewise, you could say Lightning is off-chain (The actual transactions are off chain) but not offline.To be a bit more specific by off-chain bitcoin transaction processing I mean a technology that allows wallets to exchange bitcoin txns, just like paper money/bills, multiple times with multiple parties engaged without leaving any trace on the blockchain other than circumstances that one of the parties, decides to deposit it. LN and side-chains include intermediary entities and typically require online access to blockchain to process off-chain transactions completely. Alternatively Suppose: -1) Bob asks Alice for some assets/goods/services he is offering to pay him m satoshis. He sends a secret shared key, SSK, to Alice (or has an already established one with her) and claims the coins. 0) Alice approves. For the sake of simplicity, suppose she got n utxos with a total of M=(m+txfee)satoshis balance. To do the cash transfer, she generates a pub/priv key pair, pubkey and privkey, and RIPEMd-160 hashes pubkey to generate a new valid bitcoin address, let's call it Deposit Address, DA. step #1): Alice generates a transaction, again let's call it Deposit Transaction, DTxn with n inputs and DA as a single output, providing every secret/signature necessary to make it a valid txn, ready to be published to the network. step #2): Instead of publishing DTxn, Alice assembles a raw message: Code: { step #3): Upon reception of EDB Bob decrypts to DDB and starts verifying it to be consistent and valid:
If ABC is hold, Bob would conveniently choose to keep the DTxn confidential and re-use it with other third parties and they would follow this practice as well, thereafter we would have a series of transaction processing that happen completely offline and off-chain, essentially by repeating last 3 steps each time. Given ABC is hold, above process is off-chain and easily could be managed offline and is superior to LN and other 2nd layer technologies for: -Ease of use, -Pure p2p nature, -Full privacy and anonymity, - Zero cost (besides tx fee paid by Alice, other parties do not pay fees) - ... The technology I'm trying to present is about holding ABC true up to a measurable level. It is completely offline/off-chain and free from any form of mediation or arbitration, as long as DDB is not publicized and included in the blockchain, no matter how many times it has been circulated around and used as a medium of exchange. It is kinda competing with blockchain and cryptocurrency initiative, I understand, but what else it could be? Bitcoin and blockchain technology is an alternative to banking system because what they do is maintaining a ledger and providing a solid mechanism to keep it immutable and secure against unauthorised/fraudulent banking transactions and double-spending by means of a public, permissionless, decentralized network. Cash is not exactly what bitcoin is, in spite of the title Satoshi used for his whitepaper, cash is not a balance of an account kept safe by banks or blockchains , cash is what you hold somewhere and could pass it to a peer without leaving any trace anywhere or reconciling with any third party. You interact with banks to deposit/withdraw cash and replacing banks with a decentralized crypto system like bitcoin doesn't change the whole picture. But how exactly we would hold ABC true for potential receivers of DDBs? I think it is more important to understand and define the problem thoroughly, first. |