{"id":444,"date":"2023-01-30T11:01:20","date_gmt":"2023-01-30T09:01:20","guid":{"rendered":"https:\/\/ackeeblockchain.com\/blog\/?p=444"},"modified":"2023-01-31T14:50:15","modified_gmt":"2023-01-31T12:50:15","slug":"2022-solana-hacks-explained-wormhole","status":"publish","type":"post","link":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/","title":{"rendered":"2022 Solana Hacks Explained: Wormhole"},"content":{"rendered":"<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/wormhole.com\/\"><strong>Wormhole<\/strong><\/a> is a <strong>message-passing protocol<\/strong> enabling the<strong> transfer of tokenized assets<\/strong> between <strong>supported chains<\/strong>. In other words, it allows one to send ETH from Ethereum and receive a wrapped wormhole ETH (wETH) on Solana. Thanks to that, developers can also create <strong>cross-chain dApps<\/strong>.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The basic principle of operation is that <strong>each<\/strong> supported <strong>chain<\/strong> has a <strong>wormhole<\/strong> <strong>contract<\/strong> that emits or processes wormhole messages. The system relies on so-called &#8216;<strong>Guardians<\/strong>&#8216;, a distributed set of nodes that monitor the state of transactions and after consensus sign the messages emitted by the wormhole contracts. When a user sends ETH to Solana, the system <strong>locks<\/strong> the <strong>tokens<\/strong> <strong>into a contract<\/strong> on the source chain (Ethereum) and when the Guardian nodes approve that it happened, they <strong>sign<\/strong> the message, and another contract on the destination chain is called to <strong>issue the parallel &#8216;wrapped&#8217; token<\/strong>.<\/span><\/p>\n<p><strong>What happened<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">In February 2022, an attacker <strong>stole<\/strong> assets worth roughly <strong>$338M<\/strong> (at the time of the exploit) by <strong>circumventing<\/strong> the <strong>signing<\/strong> <strong>process<\/strong> and minting 120k wrapped ETH tokens on Solana without locking an equivalent on Ethereum. Even though the Wormhole team sent a <a href=\"https:\/\/www.notifi.xyz\/messages\/1497\">message<\/a> to the hacker offering<strong> a white hat agreement<\/strong>, there was no response. The hacker used 93,750 of the minted wrapped ETH to redeem back to equivalent ETH tokens on Ethereum, thus <strong>draining<\/strong> the money from <strong>Ethereum liquidity pool<\/strong>. The rest of the tokens were sold for SOL and USDC, as seen in the hacker&#8217;s <a href=\"https:\/\/solscan.io\/account\/CxegPrfn2ge5dNiQberUrQJkHCcimeR4VXkeawcFBBka#splTransfers\">wallet<\/a>. Wormhole&#8217;s investor, <strong>Jump<\/strong> <strong>Crypto<\/strong> replenished all <strong>120k<\/strong> <strong>ETH<\/strong>, virtually <strong>bailing<\/strong> <strong>Wormhole<\/strong> <strong>out<\/strong>.<\/span><\/p>\n<p><b>Exploit Details<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The Wormhole project <strong>is open-source,<\/strong> and the <strong>public <a href=\"https:\/\/github.com\/wormhole-foundation\/wormhole\">repository<\/a> <\/strong>is accessible to anyone. Interestingly enough, the hack happened only a few hours after <strong>a critical bug was <a href=\"https:\/\/github.com\/certusone\/wormhole\/commit\/7edbbd3677ee6ca681be8722a607bc576a3912c8#diff-0d27d8889edd071b86d3f3299276882d97613ad6ab3b0b6412ae4ebf3ccd6370R92-R103\">fixed<\/a><\/strong> and committed to the public repository and <strong>before a new version<\/strong> of the program was deployed.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The bug&#8217;s root cause was <a href=\"https:\/\/github.com\/solana-labs\/solana\/blob\/master\/sdk\/program\/src\/sysvar\/instructions.rs#L240\"><strong>a deprecated function<\/strong><\/a> <\/span><\/p>\n<pre><span style=\"font-weight: 400;\">load_instruction_at <\/span><\/pre>\n<p>being used during the Wormhole <strong style=\"font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;\">signature verification<\/strong><span style=\"font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;\">. The way to build custom instructions that &#8216;do&#8217; signature <strong>verification<\/strong> is by sending a transaction made of (at least) <strong>two instructions<\/strong> and <strong>checking<\/strong> that the native program instruction was sent. As described in the <a href=\"https:\/\/github.com\/solana-labs\/solana\/blob\/master\/sdk\/src\/secp256k1_instruction.rs\"><em><strong>secp256k1_instruction.rs<\/strong><\/em><\/a> documentation, it is necessary to:<\/span><\/p>\n<ul>\n<li><span style=\"font-weight: 400;\">Load the secp256k1 instruction data <\/span>with<\/li>\n<\/ul>\n<pre>load_instruction_at_checked <strong>or<\/strong> get_instruction_relative;<\/pre>\n<ul>\n<li>Check that the<\/li>\n<\/ul>\n<pre>secp256k1<\/pre>\n<p>program ID is equal to<\/p>\n<pre>secp256k1_program::ID<\/pre>\n<p><strong>so that the signature verification cannot be faked<\/strong> with a malicious program;<\/p>\n<ul>\n<li><strong>Check<\/strong> that the <strong>public keys and messages<\/strong> are the expected values per the program&#8217;s requirements.<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Unfortunately, Wormhole&#8217;s <strong>implementation of the signature verification did not use<\/strong> the suggested<\/span><\/p>\n<pre><span style=\"font-weight: 400;\">load_instruction_at_checked <\/span><\/pre>\n<p><span style=\"font-weight: 400;\">function and instead <strong>used <a href=\"https:\/\/github.com\/solana-labs\/solana\/blob\/master\/sdk\/program\/src\/sysvar\/instructions.rs#L240\">a deprecated version<\/a><\/strong> <\/span><\/p>\n<pre><span style=\"font-weight: 400;\">load_instruction_at. <\/span><\/pre>\n<p><span style=\"font-weight: 400;\">This function <strong>does not check that the origin of data<\/strong> to deserialize is actually from the sysvar account and not a fake account. That way, the attacker was able to:<\/span><\/p>\n<ul>\n<li><span style=\"font-weight: 400;\">Create an account <em><strong>2tHS1cXX2h1KBEaadprqELJ6sV9wLoaSdX68FqsrrZRd<\/strong><\/em> with <\/span><\/li>\n<\/ul>\n<pre><span style=\"font-weight: 400;\">secp256k1 <\/span><\/pre>\n<p><span style=\"font-weight: 400;\">instruction data earlier within different transaction;<\/span><\/p>\n<ul>\n<li>Call<\/li>\n<\/ul>\n<pre>verify_certificate<\/pre>\n<p>where he replaced the sysvar::instructions account with the malicious account created in the first step.<\/p>\n<p><span style=\"font-weight: 400;\">Signature verification normally requires <strong>two<\/strong> instructions within one transaction: <\/span><\/p>\n<pre><span style=\"font-weight: 400;\">secp256k1 <strong>and<\/strong> verify_certificate. <\/span><\/pre>\n<p><span style=\"font-weight: 400;\">However, the attacker managed to call only <strong>the single<\/strong> <\/span><\/p>\n<pre><span style=\"font-weight: 400;\">verify_certificates <\/span><\/pre>\n<p><span style=\"font-weight: 400;\">instruction and fake the instruction input data, so the <\/span><\/p>\n<pre><span style=\"font-weight: 400;\">verify_certificates<\/span><\/pre>\n<p><span style=\"font-weight: 400;\"><strong>did not recognize<\/strong> it was not called together with the <\/span><\/p>\n<pre><span style=\"font-weight: 400;\">secp256k1 <\/span><\/pre>\n<p><span style=\"font-weight: 400;\">instruction and <strong>passed the verification.<\/strong> You can check <a href=\"https:\/\/solscan.io\/tx\/25Zu1L2Q9uk998d5GMnX43t9u9eVBKvbVtgHndkc2GmUFed8Pu73LGW6hiDsmGXHykKUTLkvUdh4yXPdL3Jo4wVS\">the transaction<\/a> yourself. Once the <strong>verification was complete<\/strong>, it was possible to <strong>call the usual instruction<\/strong> <\/span><\/p>\n<pre><span style=\"font-weight: 400;\">post_vaa<\/span><\/pre>\n<p><span style=\"font-weight: 400;\">to <strong>obtain<\/strong> the so-called &#8216;<strong>validator action approval&#8217;<\/strong> and subsequently complete_wrapped instruction to <strong>mint the 120,000 ETH.<\/strong><\/span><\/p>\n<p><b>In simple words, <\/b><span style=\"font-weight: 400;\">the Wormhole hack was quite sophisticated on one side, but after all, <strong>the root cause<\/strong> was a <strong>missing<\/strong> <strong>ownership<\/strong> <strong>check<\/strong> on one account, which allowed the hacker to <strong>fake<\/strong> that he had money on his account on one blockchain. And due to the <strong>lack of checks<\/strong>, he managed to mint the money on another blockchain.\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/www.linkedin.com\/pulse\/320-million-wormhole-hack-explained-giap-nguyen\/\"><strong>Reference<\/strong><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wormhole is a message-passing protocol enabling the transfer of tokenized assets between supported chains. In other words, it allows one to send ETH from Ethereum and receive a wrapped wormhole ETH (wETH) on Solana. Thanks to that, developers can also create cross-chain dApps. The basic principle of operation is that each supported chain has a wormhole contract that emits or processes wormhole&hellip;<\/p>\n","protected":false},"author":15,"featured_media":445,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[84,5],"tags":[86,28,6],"class_list":["post-444","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hacks","category-solana","tag-hack","tag-smart-contract","tag-solana"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"Wormhole is a message-passing protocol enabling the transfer of tokenized assets between supported chains. In other words, it allows one to send ETH from Ethereum and receive a wrapped wormhole ETH (wETH) on Solana. Thanks to that, developers can also create cross-chain dApps. The basic principle of operation is that each supported chain has a\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Aleksandra Yudina\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Ackee Blockchain - Blog &amp; Research\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"2022 Solana Hacks Explained: Wormhole - Ackee Blockchain\" \/>\n\t\t<meta property=\"og:description\" content=\"Wormhole is a message-passing protocol enabling the transfer of tokenized assets between supported chains. In other words, it allows one to send ETH from Ethereum and receive a wrapped wormhole ETH (wETH) on Solana. Thanks to that, developers can also create cross-chain dApps. The basic principle of operation is that each supported chain has a\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/ackee.xyz\/blog\/wp-content\/uploads\/2023\/02\/cropped-ABCH_Logo_blue-black.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/ackee.xyz\/blog\/wp-content\/uploads\/2023\/02\/cropped-ABCH_Logo_blue-black.png\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-01-30T09:01:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-01-31T12:50:15+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"2022 Solana Hacks Explained: Wormhole - Ackee Blockchain\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Wormhole is a message-passing protocol enabling the transfer of tokenized assets between supported chains. In other words, it allows one to send ETH from Ethereum and receive a wrapped wormhole ETH (wETH) on Solana. Thanks to that, developers can also create cross-chain dApps. The basic principle of operation is that each supported chain has a\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/ackee.xyz\/blog\/wp-content\/uploads\/2023\/02\/cropped-ABCH_Logo_blue-black.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/2022-solana-hacks-explained-wormhole\\\/#blogposting\",\"name\":\"2022 Solana Hacks Explained: Wormhole - Ackee Blockchain\",\"headline\":\"2022 Solana Hacks Explained: Wormhole\",\"author\":{\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/author\\\/aleksandra-yudina\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/Wormhole.png\",\"width\":2957,\"height\":2040},\"datePublished\":\"2023-01-30T11:01:20+02:00\",\"dateModified\":\"2023-01-31T14:50:15+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/2022-solana-hacks-explained-wormhole\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/2022-solana-hacks-explained-wormhole\\\/#webpage\"},\"articleSection\":\"Hacks, Solana, Hack, Smart contract, Solana\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/2022-solana-hacks-explained-wormhole\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ackee.xyz\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/category\\\/solana\\\/#listItem\",\"name\":\"Solana\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/category\\\/solana\\\/#listItem\",\"position\":2,\"name\":\"Solana\",\"item\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/category\\\/solana\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/2022-solana-hacks-explained-wormhole\\\/#listItem\",\"name\":\"2022 Solana Hacks Explained: Wormhole\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/2022-solana-hacks-explained-wormhole\\\/#listItem\",\"position\":3,\"name\":\"2022 Solana Hacks Explained: Wormhole\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/category\\\/solana\\\/#listItem\",\"name\":\"Solana\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/#organization\",\"name\":\"Ackee Blockchain\",\"description\":\"Blog & Research\",\"url\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/cropped-ABCH_Logo_blue-black.png\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/2022-solana-hacks-explained-wormhole\\\/#organizationLogo\",\"width\":5268,\"height\":825},\"image\":{\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/2022-solana-hacks-explained-wormhole\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/author\\\/aleksandra-yudina\\\/#author\",\"url\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/author\\\/aleksandra-yudina\\\/\",\"name\":\"Aleksandra Yudina\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/2022-solana-hacks-explained-wormhole\\\/#authorImage\",\"url\":\"https:\\\/\\\/abchprod.wpengine.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/Frame-331-1-96x96.png\",\"width\":96,\"height\":96,\"caption\":\"Aleksandra Yudina\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/2022-solana-hacks-explained-wormhole\\\/#webpage\",\"url\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/2022-solana-hacks-explained-wormhole\\\/\",\"name\":\"2022 Solana Hacks Explained: Wormhole - Ackee Blockchain\",\"description\":\"Wormhole is a message-passing protocol enabling the transfer of tokenized assets between supported chains. In other words, it allows one to send ETH from Ethereum and receive a wrapped wormhole ETH (wETH) on Solana. Thanks to that, developers can also create cross-chain dApps. The basic principle of operation is that each supported chain has a\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/2022-solana-hacks-explained-wormhole\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/author\\\/aleksandra-yudina\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/author\\\/aleksandra-yudina\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/Wormhole.png\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/2022-solana-hacks-explained-wormhole\\\/#mainImage\",\"width\":2957,\"height\":2040},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/2022-solana-hacks-explained-wormhole\\\/#mainImage\"},\"datePublished\":\"2023-01-30T11:01:20+02:00\",\"dateModified\":\"2023-01-31T14:50:15+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/\",\"name\":\"Ackee Blockchain\",\"description\":\"Blog & Research\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/ackee.xyz\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"2022 Solana Hacks Explained: Wormhole - Ackee Blockchain","description":"Wormhole is a message-passing protocol enabling the transfer of tokenized assets between supported chains. In other words, it allows one to send ETH from Ethereum and receive a wrapped wormhole ETH (wETH) on Solana. Thanks to that, developers can also create cross-chain dApps. The basic principle of operation is that each supported chain has a","canonical_url":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/#blogposting","name":"2022 Solana Hacks Explained: Wormhole - Ackee Blockchain","headline":"2022 Solana Hacks Explained: Wormhole","author":{"@id":"https:\/\/ackee.xyz\/blog\/author\/aleksandra-yudina\/#author"},"publisher":{"@id":"https:\/\/ackee.xyz\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/ackee.xyz\/blog\/wp-content\/uploads\/2023\/01\/Wormhole.png","width":2957,"height":2040},"datePublished":"2023-01-30T11:01:20+02:00","dateModified":"2023-01-31T14:50:15+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/#webpage"},"isPartOf":{"@id":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/#webpage"},"articleSection":"Hacks, Solana, Hack, Smart contract, Solana"},{"@type":"BreadcrumbList","@id":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/ackee.xyz\/blog#listItem","position":1,"name":"Home","item":"https:\/\/ackee.xyz\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/ackee.xyz\/blog\/category\/solana\/#listItem","name":"Solana"}},{"@type":"ListItem","@id":"https:\/\/ackee.xyz\/blog\/category\/solana\/#listItem","position":2,"name":"Solana","item":"https:\/\/ackee.xyz\/blog\/category\/solana\/","nextItem":{"@type":"ListItem","@id":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/#listItem","name":"2022 Solana Hacks Explained: Wormhole"},"previousItem":{"@type":"ListItem","@id":"https:\/\/ackee.xyz\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/#listItem","position":3,"name":"2022 Solana Hacks Explained: Wormhole","previousItem":{"@type":"ListItem","@id":"https:\/\/ackee.xyz\/blog\/category\/solana\/#listItem","name":"Solana"}}]},{"@type":"Organization","@id":"https:\/\/ackee.xyz\/blog\/#organization","name":"Ackee Blockchain","description":"Blog & Research","url":"https:\/\/ackee.xyz\/blog\/","logo":{"@type":"ImageObject","url":"https:\/\/ackee.xyz\/blog\/wp-content\/uploads\/2023\/02\/cropped-ABCH_Logo_blue-black.png","@id":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/#organizationLogo","width":5268,"height":825},"image":{"@id":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/ackee.xyz\/blog\/author\/aleksandra-yudina\/#author","url":"https:\/\/ackee.xyz\/blog\/author\/aleksandra-yudina\/","name":"Aleksandra Yudina","image":{"@type":"ImageObject","@id":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/#authorImage","url":"https:\/\/abchprod.wpengine.com\/wp-content\/uploads\/2024\/08\/Frame-331-1-96x96.png","width":96,"height":96,"caption":"Aleksandra Yudina"}},{"@type":"WebPage","@id":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/#webpage","url":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/","name":"2022 Solana Hacks Explained: Wormhole - Ackee Blockchain","description":"Wormhole is a message-passing protocol enabling the transfer of tokenized assets between supported chains. In other words, it allows one to send ETH from Ethereum and receive a wrapped wormhole ETH (wETH) on Solana. Thanks to that, developers can also create cross-chain dApps. The basic principle of operation is that each supported chain has a","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/ackee.xyz\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/#breadcrumblist"},"author":{"@id":"https:\/\/ackee.xyz\/blog\/author\/aleksandra-yudina\/#author"},"creator":{"@id":"https:\/\/ackee.xyz\/blog\/author\/aleksandra-yudina\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/ackee.xyz\/blog\/wp-content\/uploads\/2023\/01\/Wormhole.png","@id":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/#mainImage","width":2957,"height":2040},"primaryImageOfPage":{"@id":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/#mainImage"},"datePublished":"2023-01-30T11:01:20+02:00","dateModified":"2023-01-31T14:50:15+02:00"},{"@type":"WebSite","@id":"https:\/\/ackee.xyz\/blog\/#website","url":"https:\/\/ackee.xyz\/blog\/","name":"Ackee Blockchain","description":"Blog & Research","inLanguage":"en-US","publisher":{"@id":"https:\/\/ackee.xyz\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Ackee Blockchain - Blog &amp; Research","og:type":"article","og:title":"2022 Solana Hacks Explained: Wormhole - Ackee Blockchain","og:description":"Wormhole is a message-passing protocol enabling the transfer of tokenized assets between supported chains. In other words, it allows one to send ETH from Ethereum and receive a wrapped wormhole ETH (wETH) on Solana. Thanks to that, developers can also create cross-chain dApps. The basic principle of operation is that each supported chain has a","og:url":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/","og:image":"https:\/\/ackee.xyz\/blog\/wp-content\/uploads\/2023\/02\/cropped-ABCH_Logo_blue-black.png","og:image:secure_url":"https:\/\/ackee.xyz\/blog\/wp-content\/uploads\/2023\/02\/cropped-ABCH_Logo_blue-black.png","article:published_time":"2023-01-30T09:01:20+00:00","article:modified_time":"2023-01-31T12:50:15+00:00","twitter:card":"summary","twitter:title":"2022 Solana Hacks Explained: Wormhole - Ackee Blockchain","twitter:description":"Wormhole is a message-passing protocol enabling the transfer of tokenized assets between supported chains. In other words, it allows one to send ETH from Ethereum and receive a wrapped wormhole ETH (wETH) on Solana. Thanks to that, developers can also create cross-chain dApps. The basic principle of operation is that each supported chain has a","twitter:image":"https:\/\/ackee.xyz\/blog\/wp-content\/uploads\/2023\/02\/cropped-ABCH_Logo_blue-black.png"},"aioseo_meta_data":{"post_id":"444","title":null,"description":null,"keywords":[],"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"limit_modified_date":false,"ai":null,"created":"2023-01-30 08:16:03","updated":"2023-01-31 12:57:17","breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/ackee.xyz\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/ackee.xyz\/blog\/category\/solana\/\" title=\"Solana\">Solana<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t2022 Solana Hacks Explained: Wormhole\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/ackee.xyz\/blog"},{"label":"Solana","link":"https:\/\/ackee.xyz\/blog\/category\/solana\/"},{"label":"2022 Solana Hacks Explained: Wormhole","link":"https:\/\/ackee.xyz\/blog\/2022-solana-hacks-explained-wormhole\/"}],"featured_image_src":"https:\/\/ackee.xyz\/blog\/wp-content\/uploads\/2023\/01\/Wormhole-600x400.png","featured_image_src_square":"https:\/\/ackee.xyz\/blog\/wp-content\/uploads\/2023\/01\/Wormhole-600x600.png","author_info":{"display_name":"Aleksandra Yudina","author_link":"https:\/\/ackee.xyz\/blog\/author\/aleksandra-yudina\/"},"_links":{"self":[{"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/posts\/444","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/comments?post=444"}],"version-history":[{"count":0,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/posts\/444\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/media\/445"}],"wp:attachment":[{"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/media?parent=444"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/categories?post=444"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/tags?post=444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}