Wrapping Cryptocurrencies for interoperability sakeUnderstanding TokenCreator/OwnedToken example from Solidity documentationCategorising tokens: is there pros and cons of ERC20 described anywhere & comparison with other subcurrency impl?How excatly Bancor works (for non-economists)how does a lightweight node interact with smart contracts?are the ERC721 smart contracts compatible with Zk-SNARKs?fallback function is accepting more than 2300 gasHow can the cost of changing 2 state variables and emitting 1 event reach 50K gas units?What is a common pattern to work with a large number of complex Things: make a Thing a contract, or a struct in a mapping?Smart contract - require token balance in constructorSolidity 0.5.x - make address array payable

Can someone explain how this makes sense electrically?

Create all possible words using a set or letters

Why did the HMS Bounty go back to a time when whales are already rare?

Find last 3 digits of this monster number

If a character with the Alert feat rolls a crit fail on their Perception check, are they surprised?

Transformation of random variables and joint distributions

How do I extrude a face to a single vertex

Is XSS in canonical link possible?

Why does Async/Await work properly when the loop is inside the async function and not the other way around?

What is the gram­mat­i­cal term for “‑ed” words like these?

What major Native American tribes were around Santa Fe during the late 1850s?

Gibbs free energy in standard state vs. equilibrium

Will adding a BY-SA image to a blog post make the entire post BY-SA?

Is possible to search in vim history?

Proof of Lemma: Every nonzero integer can be written as a product of primes

Folder comparison

Visiting the UK as unmarried couple

Is it improper etiquette to ask your opponent what his/her rating is before the game?

Should I stop contributing to retirement accounts?

What does this horizontal bar at the first measure mean?

How must one send away the mother bird?

Reply 'no position' while the job posting is still there

How will losing mobility of one hand affect my career as a programmer?

My friend sent me a screenshot of a transaction hash, but when I search for it I find divergent data. What happened?



Wrapping Cryptocurrencies for interoperability sake


Understanding TokenCreator/OwnedToken example from Solidity documentationCategorising tokens: is there pros and cons of ERC20 described anywhere & comparison with other subcurrency impl?How excatly Bancor works (for non-economists)how does a lightweight node interact with smart contracts?are the ERC721 smart contracts compatible with Zk-SNARKs?fallback function is accepting more than 2300 gasHow can the cost of changing 2 state variables and emitting 1 event reach 50K gas units?What is a common pattern to work with a large number of complex Things: make a Thing a contract, or a struct in a mapping?Smart contract - require token balance in constructorSolidity 0.5.x - make address array payable













1















How is it possible to standardize bitcoin and wrap it to the ERC20 format, creating smart contracts for Bitcoin. This should make it easier to write smart contracts that integrate bitcoin transfers apparently, but for my understanding this makes no sense since the code bases are alien to each other. Can someone elaborate? this seems rather complex?










share|improve this question


























    1















    How is it possible to standardize bitcoin and wrap it to the ERC20 format, creating smart contracts for Bitcoin. This should make it easier to write smart contracts that integrate bitcoin transfers apparently, but for my understanding this makes no sense since the code bases are alien to each other. Can someone elaborate? this seems rather complex?










    share|improve this question
























      1












      1








      1


      1






      How is it possible to standardize bitcoin and wrap it to the ERC20 format, creating smart contracts for Bitcoin. This should make it easier to write smart contracts that integrate bitcoin transfers apparently, but for my understanding this makes no sense since the code bases are alien to each other. Can someone elaborate? this seems rather complex?










      share|improve this question














      How is it possible to standardize bitcoin and wrap it to the ERC20 format, creating smart contracts for Bitcoin. This should make it easier to write smart contracts that integrate bitcoin transfers apparently, but for my understanding this makes no sense since the code bases are alien to each other. Can someone elaborate? this seems rather complex?







      solidity go-ethereum contract-development contract-design tokens






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 4 hours ago









      NowsyMeNowsyMe

      331418




      331418




















          1 Answer
          1






          active

          oldest

          votes


















          2














          If you're referring to Wrapped BTC (WBTC), it has nothing to do with the Bitcoin Network. 1 WBTC is equal to 1 BTC purely through a custodial pegging system. To mint a WBTC ERC-20 token, you must lock-up a BTC.



          This lets BTC be 'represented' on the Ethereum blockchain and can be used in different dApps, commonly financial ones.



          If you're familiar with Wrapped ETH (WETH) it is the exact same concept except the process to wrap ETH is trust-less and done on the Ethereum blockchain (b/c ETH is native to the blockchain). The process to wrap BTC is not currently trust-less, you need to send your BTC to BitGo, a Bitcoin custodial exchange.



          Then with the ERC-20 version of BTC, you can do with it whatever you can do with any ERC-20 in smart contracts.




          This should make it easier to write smart contracts that integrate bitcoin transfers apparently,




          With the ERC-20 version of BTC, you can call safeTransferFrom() like with any ERC-20 token. This'll transfer the WBTC to whichever Ethereum address chosen. Now this Ethereum address has 1 WBTC (in this example) but the Bitcoin Network doesn't somehow credit this Ethereum address with 1 BTC. As far as the Bitcoin Network knows, the BTC is still held by BitGo (the BTC exchange you lock-up BTC for WBTC).



          How does this person who just received 1 WBTC get credit with 1 true BTC, and have their ownership of the BTC registered with the Bitcoin Network? They go to BitGo and 'cash-in' their WBTC. The rate will always be 1 WBTC:1 BTC, so BitGo will send their Bitcoin address of choice the 1 BTC.



          Standardizing and wrapping any non-native coin as an ERC-20 on Ethereum doesn't have 'real' interoperability with the other blockchain. As you stated, this would be way more complex than the process I described above, and the process used currently (pegging).



          For true interoperability, as you may be envisioning, check out Cosmos Network. They are trying to build an 'internet of blockchains' and just launched main-net. They standardize blockchains, not tokens/coins, to allow true interoperability (basically so the code bases are the same). I think you'd find the project interesting!



          I hope this answered your question. Here is WBTC's official site where you can read more about the process they use: https://www.wbtc.network/






          share|improve this answer

























          • great answer thanks! spot on

            – NowsyMe
            2 hours ago











          • Awesome, glad to help!

            – savard
            2 hours ago










          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "642"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fethereum.stackexchange.com%2fquestions%2f68756%2fwrapping-cryptocurrencies-for-interoperability-sake%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          2














          If you're referring to Wrapped BTC (WBTC), it has nothing to do with the Bitcoin Network. 1 WBTC is equal to 1 BTC purely through a custodial pegging system. To mint a WBTC ERC-20 token, you must lock-up a BTC.



          This lets BTC be 'represented' on the Ethereum blockchain and can be used in different dApps, commonly financial ones.



          If you're familiar with Wrapped ETH (WETH) it is the exact same concept except the process to wrap ETH is trust-less and done on the Ethereum blockchain (b/c ETH is native to the blockchain). The process to wrap BTC is not currently trust-less, you need to send your BTC to BitGo, a Bitcoin custodial exchange.



          Then with the ERC-20 version of BTC, you can do with it whatever you can do with any ERC-20 in smart contracts.




          This should make it easier to write smart contracts that integrate bitcoin transfers apparently,




          With the ERC-20 version of BTC, you can call safeTransferFrom() like with any ERC-20 token. This'll transfer the WBTC to whichever Ethereum address chosen. Now this Ethereum address has 1 WBTC (in this example) but the Bitcoin Network doesn't somehow credit this Ethereum address with 1 BTC. As far as the Bitcoin Network knows, the BTC is still held by BitGo (the BTC exchange you lock-up BTC for WBTC).



          How does this person who just received 1 WBTC get credit with 1 true BTC, and have their ownership of the BTC registered with the Bitcoin Network? They go to BitGo and 'cash-in' their WBTC. The rate will always be 1 WBTC:1 BTC, so BitGo will send their Bitcoin address of choice the 1 BTC.



          Standardizing and wrapping any non-native coin as an ERC-20 on Ethereum doesn't have 'real' interoperability with the other blockchain. As you stated, this would be way more complex than the process I described above, and the process used currently (pegging).



          For true interoperability, as you may be envisioning, check out Cosmos Network. They are trying to build an 'internet of blockchains' and just launched main-net. They standardize blockchains, not tokens/coins, to allow true interoperability (basically so the code bases are the same). I think you'd find the project interesting!



          I hope this answered your question. Here is WBTC's official site where you can read more about the process they use: https://www.wbtc.network/






          share|improve this answer

























          • great answer thanks! spot on

            – NowsyMe
            2 hours ago











          • Awesome, glad to help!

            – savard
            2 hours ago















          2














          If you're referring to Wrapped BTC (WBTC), it has nothing to do with the Bitcoin Network. 1 WBTC is equal to 1 BTC purely through a custodial pegging system. To mint a WBTC ERC-20 token, you must lock-up a BTC.



          This lets BTC be 'represented' on the Ethereum blockchain and can be used in different dApps, commonly financial ones.



          If you're familiar with Wrapped ETH (WETH) it is the exact same concept except the process to wrap ETH is trust-less and done on the Ethereum blockchain (b/c ETH is native to the blockchain). The process to wrap BTC is not currently trust-less, you need to send your BTC to BitGo, a Bitcoin custodial exchange.



          Then with the ERC-20 version of BTC, you can do with it whatever you can do with any ERC-20 in smart contracts.




          This should make it easier to write smart contracts that integrate bitcoin transfers apparently,




          With the ERC-20 version of BTC, you can call safeTransferFrom() like with any ERC-20 token. This'll transfer the WBTC to whichever Ethereum address chosen. Now this Ethereum address has 1 WBTC (in this example) but the Bitcoin Network doesn't somehow credit this Ethereum address with 1 BTC. As far as the Bitcoin Network knows, the BTC is still held by BitGo (the BTC exchange you lock-up BTC for WBTC).



          How does this person who just received 1 WBTC get credit with 1 true BTC, and have their ownership of the BTC registered with the Bitcoin Network? They go to BitGo and 'cash-in' their WBTC. The rate will always be 1 WBTC:1 BTC, so BitGo will send their Bitcoin address of choice the 1 BTC.



          Standardizing and wrapping any non-native coin as an ERC-20 on Ethereum doesn't have 'real' interoperability with the other blockchain. As you stated, this would be way more complex than the process I described above, and the process used currently (pegging).



          For true interoperability, as you may be envisioning, check out Cosmos Network. They are trying to build an 'internet of blockchains' and just launched main-net. They standardize blockchains, not tokens/coins, to allow true interoperability (basically so the code bases are the same). I think you'd find the project interesting!



          I hope this answered your question. Here is WBTC's official site where you can read more about the process they use: https://www.wbtc.network/






          share|improve this answer

























          • great answer thanks! spot on

            – NowsyMe
            2 hours ago











          • Awesome, glad to help!

            – savard
            2 hours ago













          2












          2








          2







          If you're referring to Wrapped BTC (WBTC), it has nothing to do with the Bitcoin Network. 1 WBTC is equal to 1 BTC purely through a custodial pegging system. To mint a WBTC ERC-20 token, you must lock-up a BTC.



          This lets BTC be 'represented' on the Ethereum blockchain and can be used in different dApps, commonly financial ones.



          If you're familiar with Wrapped ETH (WETH) it is the exact same concept except the process to wrap ETH is trust-less and done on the Ethereum blockchain (b/c ETH is native to the blockchain). The process to wrap BTC is not currently trust-less, you need to send your BTC to BitGo, a Bitcoin custodial exchange.



          Then with the ERC-20 version of BTC, you can do with it whatever you can do with any ERC-20 in smart contracts.




          This should make it easier to write smart contracts that integrate bitcoin transfers apparently,




          With the ERC-20 version of BTC, you can call safeTransferFrom() like with any ERC-20 token. This'll transfer the WBTC to whichever Ethereum address chosen. Now this Ethereum address has 1 WBTC (in this example) but the Bitcoin Network doesn't somehow credit this Ethereum address with 1 BTC. As far as the Bitcoin Network knows, the BTC is still held by BitGo (the BTC exchange you lock-up BTC for WBTC).



          How does this person who just received 1 WBTC get credit with 1 true BTC, and have their ownership of the BTC registered with the Bitcoin Network? They go to BitGo and 'cash-in' their WBTC. The rate will always be 1 WBTC:1 BTC, so BitGo will send their Bitcoin address of choice the 1 BTC.



          Standardizing and wrapping any non-native coin as an ERC-20 on Ethereum doesn't have 'real' interoperability with the other blockchain. As you stated, this would be way more complex than the process I described above, and the process used currently (pegging).



          For true interoperability, as you may be envisioning, check out Cosmos Network. They are trying to build an 'internet of blockchains' and just launched main-net. They standardize blockchains, not tokens/coins, to allow true interoperability (basically so the code bases are the same). I think you'd find the project interesting!



          I hope this answered your question. Here is WBTC's official site where you can read more about the process they use: https://www.wbtc.network/






          share|improve this answer















          If you're referring to Wrapped BTC (WBTC), it has nothing to do with the Bitcoin Network. 1 WBTC is equal to 1 BTC purely through a custodial pegging system. To mint a WBTC ERC-20 token, you must lock-up a BTC.



          This lets BTC be 'represented' on the Ethereum blockchain and can be used in different dApps, commonly financial ones.



          If you're familiar with Wrapped ETH (WETH) it is the exact same concept except the process to wrap ETH is trust-less and done on the Ethereum blockchain (b/c ETH is native to the blockchain). The process to wrap BTC is not currently trust-less, you need to send your BTC to BitGo, a Bitcoin custodial exchange.



          Then with the ERC-20 version of BTC, you can do with it whatever you can do with any ERC-20 in smart contracts.




          This should make it easier to write smart contracts that integrate bitcoin transfers apparently,




          With the ERC-20 version of BTC, you can call safeTransferFrom() like with any ERC-20 token. This'll transfer the WBTC to whichever Ethereum address chosen. Now this Ethereum address has 1 WBTC (in this example) but the Bitcoin Network doesn't somehow credit this Ethereum address with 1 BTC. As far as the Bitcoin Network knows, the BTC is still held by BitGo (the BTC exchange you lock-up BTC for WBTC).



          How does this person who just received 1 WBTC get credit with 1 true BTC, and have their ownership of the BTC registered with the Bitcoin Network? They go to BitGo and 'cash-in' their WBTC. The rate will always be 1 WBTC:1 BTC, so BitGo will send their Bitcoin address of choice the 1 BTC.



          Standardizing and wrapping any non-native coin as an ERC-20 on Ethereum doesn't have 'real' interoperability with the other blockchain. As you stated, this would be way more complex than the process I described above, and the process used currently (pegging).



          For true interoperability, as you may be envisioning, check out Cosmos Network. They are trying to build an 'internet of blockchains' and just launched main-net. They standardize blockchains, not tokens/coins, to allow true interoperability (basically so the code bases are the same). I think you'd find the project interesting!



          I hope this answered your question. Here is WBTC's official site where you can read more about the process they use: https://www.wbtc.network/







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 2 hours ago

























          answered 3 hours ago









          savardsavard

          829




          829












          • great answer thanks! spot on

            – NowsyMe
            2 hours ago











          • Awesome, glad to help!

            – savard
            2 hours ago

















          • great answer thanks! spot on

            – NowsyMe
            2 hours ago











          • Awesome, glad to help!

            – savard
            2 hours ago
















          great answer thanks! spot on

          – NowsyMe
          2 hours ago





          great answer thanks! spot on

          – NowsyMe
          2 hours ago













          Awesome, glad to help!

          – savard
          2 hours ago





          Awesome, glad to help!

          – savard
          2 hours ago

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Ethereum Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fethereum.stackexchange.com%2fquestions%2f68756%2fwrapping-cryptocurrencies-for-interoperability-sake%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Magento 2 duplicate PHPSESSID cookie when using session_start() in custom php scriptMagento 2: User cant logged in into to account page, no error showing!Magento duplicate on subdomainGrabbing storeview from cookie (after using language selector)How do I run php custom script on magento2Magento 2: Include PHP script in headerSession lock after using Cm_RedisSessionscript php to update stockMagento set cookie popupMagento 2 session id cookie - where to find it?How to import Configurable product from csv with custom attributes using php scriptMagento 2 run custom PHP script

          Can not update quote_id field of “quote_item” table magento 2Magento 2.1 - We can't remove the item. (Shopping Cart doesnt allow us to remove items before becomes empty)Add value for custom quote item attribute using REST apiREST API endpoint v1/carts/cartId/items always returns error messageCorrect way to save entries to databaseHow to remove all associated quote objects of a customer completelyMagento 2 - Save value from custom input field to quote_itemGet quote_item data using quote id and product id filter in Magento 2How to set additional data to quote_item table from controller in Magento 2?What is the purpose of additional_data column in quote_item table in magento2Set Custom Price to Quote item magento2 from controller

          How to solve knockout JS error in Magento 2 Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?(Magento2) knockout.js:3012 Uncaught ReferenceError: Unable to process bindingUnable to process binding Knockout.js magento 2Cannot read property `scopeLabel` of undefined on Product Detail PageCan't get Customer Data on frontend in Magento 2Magento2 Order Summary - unable to process bindingKO templates are not loading in Magento 2.1 applicationgetting knockout js error magento 2Product grid not load -— Unable to process binding Knockout.js magento 2Product form not loaded in magento2Uncaught ReferenceError: Unable to process binding “if: function()return (isShowLegend()) ” magento 2