Metamorfik Akıllı Sözleşmeleri Tespit Etmek İçin Bir Araç PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Metamorfik Akıllı Sözleşmeleri Tespit Etmek İçin Bir Araç

Kritik bir Ethereum güvenlik varsayımı, akıllı sözleşme kodunun değişmez olduğu ve bu nedenle blok zincirine yerleştirildikten sonra değiştirilemeyeceğidir. Uygulamada, bazı akıllı sözleşmeler yapabilmek değişiklik – dağıtıldıktan sonra bile. Birkaç akıllı numara ile metamorfik akıllı sözleşmeler oluşturabilirsiniz.başkalaşım” başka bir şeye dönüştürün - ve onları neyin mümkün kıldığını anlayarak onları tespit edebilirsiniz.

Metamorfik akıllı sözleşmeler değiştirilebilir, yani geliştiriciler içlerindeki kodu değiştirebilir. Bu akıllı sözleşmeler, mutlak tutarlılıkla çalışmasını bekledikleri koda güvenen web3 kullanıcıları için, özellikle de kötü aktörler bu şekil değiştirme yeteneğinden yararlanabileceğinden ciddi bir risk oluşturur. Bir saldırganın, metamorfik olduğunu fark etmedikleri akıllı bir sözleşmede belirteçleri stake eden insanları “halı çıkarmak” için tekniği kullanan bir saldırgan hayal edin. Bu ve benzeri temellere dayanan saldırılar, dolandırıcıları insanları avlamak için donatabilir ve genellikle merkezi olmayan sistemlerin tam vaadine olan güveni sarsar.

Akıllı bir sözleşmenin metamorfik özellikler içerip içermediğini analiz etmek için, basit kurdum Metamorfik Sözleşme Dedektörü (orijinal çalışmasından esinlenerek ve üzerine inşa ederek) Jason oymacı, 0 yaş, ve diğerleri). Herhangi biri, belirli bir sözleşmenin metamorfizma potansiyelini gösterebilecek kırmızı bayraklar gösterip göstermediğini kontrol etmek için aracı kullanabilir. Yöntem kusursuz değildir: akıllı bir sözleşmenin bir bayrak göstermesi, bunun mutlaka metamorfik olduğu anlamına gelmez; ve öyle olmadığı için güvenli olduğu anlamına gelmez. Denetleyici, yalnızca bir sözleşmenin olabilir olası göstergelere göre metamorfik olun. 

Web3 kullanıcıları, metamorfik sözleşmelerin oluşturduğu tehditler hakkında bilgi sahibi olmalıdır, böylece olası saldırılara dikkat edebilir ve bunlardan kaçınabilirler. Cüzdanlar ve blok zinciri indeksleyicileri, metamorfik özellikler içerebilecek bir akıllı sözleşme ile etkileşime girmeden önce kullanıcıları uyararak yardımcı olabilir. Bu araç, hem insanları bu potansiyel tehdit hakkında eğitmeye hem de ona karşı savunmaya yardımcı olmayı amaçlamaktadır.

Metamorfik akıllı sözleşmeleri algılama

The Metamorfik Sözleşme Dedektörü Akıllı bir sözleşmenin metamorfik olup olmadığını gösterebilecek altı özelliği analiz ettim.

    1. Sözleşmeyi uygulamak için bilinen metamorfik kod kullanıldı mı? Bilinen metamorfik bayt kodu (genellikle Solidity ile yazılan Ethereum akıllı sözleşmelerinin derlendikten sonra dönüştüğü alt düzey, sanal makine tarafından okunabilen kod) belirli bir akıllı sözleşmenin dağıtımı için bir işlemde ortaya çıkarsa, bu büyük bir kırmızı bayraktır. İzleyen bölümlerde, 0age tarafından geliştirilen böyle bir metamorfik bayt kodu örneğini tartışacağız. Önemli bir uyarı: Tüm çeşitlerin tespit edilmesini zorlaştıran potansiyel olarak sayısız metamorfik bayt kodu varyasyonu vardır. Bununla birlikte, iyi bilinen örnekleri tarayarak, dedektör, yalnızca mevcut örnekleri kopyalayıp yapıştıran saldırganlar için düşük asılı meyveleri ortadan kaldırır.
    2. Akıllı sözleşme kodu kendi kendini imha edebilir mi? Bir sözleşmedeki kodu değiştirmek için - metamorfik bir sözleşme oluşturmanın önemli bir adımı - bir geliştiricinin önce önceden var olan kodu silmesi gerekir. Bunu yapmanın tek yolu, SELFDESTRUCT işlem kodu, tam olarak kulağa benzeyen bir komut - belirli bir sözleşme adresindeki tüm kodu ve depolamayı siler. Bir sözleşmede kendi kendini imha eden kodun varlığı, onun metamorfik olduğunu kanıtlamaz; ancak, sözleşmenin geçerli olduğuna dair bir ipucu sunuyor. olabilir metamorfik olun ve her halükarda, güvendiğiniz sözleşmelerin kendilerini bombalayıp patlatamayacağını bilmeye değer.
    3. Akıllı sözleşme kodu başka bir yerden mi çağırıyor? Söz konusu akıllı sözleşme doğrudan kendi kendini imha edemiyorsa, yine de aşağıdakileri kullanarak kendini silebilir. DELEGATECALL işlem kodu. Bu işlem kodu, bir akıllı sözleşmenin başka bir akıllı sözleşmede bulunan kodu dinamik olarak yüklemesine ve yürütmesine olanak tanır. Akıllı sözleşme SELFDESTRUCT işlem kodunu içermese bile, kendi kendini imha eden kodu başka bir yerden yüklemek için DELEGATECALL'ı kullanabilir. DELEGATECALL işlevi, akıllı bir sözleşmenin metamorfik olup olmadığını doğrudan göstermese de, bu olası bir ipucudur – ve potansiyel güvenlik sorunudur – bu kayda değerdir. Bu göstergenin birçok yanlış pozitifi artırma potansiyeline sahip olduğu konusunda uyarılmalıdır. 
    4. Başka bir sözleşme bu sözleşmeyi dağıttı mı? Metamorfik sözleşmeler dağıtılabilir bir tek diğer akıllı sözleşmelerle. Bunun nedeni, metamorfik sözleşmelerin, yalnızca CREATE2 adı verilen diğer akıllı sözleşmeler tarafından kullanılabilen başka bir işlem kodu tarafından etkinleştirilmesidir. (CREATE2'yi – nasıl çalıştığını ve neden önemli olduğunu – daha sonraki bir bölümde tartışacağız.) Bu özellik, olası metamorfizmanın en az göze çarpan göstergelerinden biridir; gerekli ama yetersiz bir önkoşuldur. Bu özelliğin taranması muhtemelen birçok yanlış pozitife yol açacaktır - ancak şüphe uyandırabileceğinden ve özellikle akıllı sözleşme bir sonraki adımda açıklanan işlem kodunu içeriyorsa, bir sözleşmeyi daha fazla incelemek için bir neden sağlayabileceğinden bilmek değerli bir bilgidir.
    5. Dağıtıcı sözleşmesi CREATE2 işlem kodunu içeriyor mu? Yukarıda bahsedildiği gibi, CREATE2 aracılığıyla dağıtım, metamorfizma için önemli bir ön koşuldur. Bir dağıtımcı sözleşmesi CREATE2 işlem kodunu içeriyorsa, bu, söz konusu sözleşmeyi dağıtmak için CREATE2 kullandığını gösterebilir. Dağıtıcı, söz konusu sözleşmeyi dağıtmak için gerçekten CREATE2'yi kullandıysa, bu, sözleşmenin zorunlu olarak metamorfik olduğu anlamına gelmese de, bunun olduğu anlamına gelir. olabilir metamorfik olabilir ve dikkatli ilerlemek ve daha fazla araştırmak akıllıca olabilir. Yine, yanlış pozitiflere dikkat edin: OLUŞTUR2 bol miktarda var meşru kullanımlargüçlendirme dahil "Katman 2" ölçeklendirme çözümleri ve web3'ü iyileştirebilecek akıllı sözleşme cüzdanları oluşturmayı kolaylaştırıyor kullanıcı katılımı ve önemli kurtarma seçenekleri.
    6. Kod değişti mi? Bu en bariz anlatımdır, ancak yalnızca metamorfik bir sözleşme zaten değiştikten sonra ortaya çıkacaktır. Akıllı sözleşmenin kod karması (benzersiz, kriptografik bir tanımlayıcı), sözleşmenin ilk dağıtıldığı zamandan farklıysa, kod kaldırılmış, değiştirilmiş veya değiştirilmiş olabilir. Karmalar artık eşleşmiyorsa, kodla ilgili bir şeyler değişmiştir ve sözleşme metamorfik olabilir. Bu bayrak, metamorfizmanın en kesin göstergesidir, ancak yalnızca zaten olup olmadığını kontrol ettiğinden, geçişi tahmin etmeye veya önlemeye yardımcı olmaz.

Metamorfik Sözleşme Detektörü için basit bir komut satırı aracı oluşturmaya ek olarak, bir sonraki bölümde açıklayacağım bir aldatmaca metamorfik sözleşme belirleme senaryosunu gösteren bazı örnek akıllı sözleşmeler oluşturdum. Tüm kodlar bunun içinde mevcuttur GitHub deposu

Kötü niyetli bir aktör, insanların fonlarını çalmak için metamorfik sözleşmeleri nasıl kullanabilir?

Birisinin bir aldatmacanın parçası olarak metamorfik bir akıllı sözleşmeyi nasıl kullanabileceği aşağıda açıklanmıştır. 

Birincisi kurulum aşamasıdır. Saldırgan, iki araç kullanarak blok zincirindeki belirli bir adrese akıllı bir sözleşme dağıtır: metamorfik bayt kodu ve CREATE2 işlem kodu. (Bu kavramların her ikisini de daha sonra genişleteceğiz.) Metamorfik bayt kodu daha sonra adından da anlaşılacağı gibi yapar ve "dönüştürür". Burada, bir stake etme sözleşmesi kullanıcıların ERC-20 jetonlarını stake edebileceği yer. (Yine, bu geçiş hilesinin ayrıntılarını daha sonra tartışacağız. Söz verin!)

Ardından yem ve anahtar gelir. Şüphelenmeyen kullanıcılar, bir getiri veya başka bir avantaj kazanma olasılığıyla cezbedilen bu sözleşmede jetonlarını stake ederler. Saldırgan daha sonra bu akıllı sözleşme adresindeki tüm stake kodunu ve "durumu" - blok zinciri depolama veya bellek - siler. SELFDESTRUCT işlem kodu önceki bölümde tartışıldı. (Ayrı bir ERC-20 sözleşmesinin parçası olarak var olan belirteçlerin, kendi kendini imha eden sözleşmeden etkilenmeden devam ettiği belirtilmelidir.)

Son olarak, halı çekme. Saldırgan, yeni bir sözleşmeyi "yeniden dağıtmak" için kurulum aşamasında kullanılan aynı metamorfik bayt kodunu yeniden kullanır. Bu yeni sözleşme, kendi kendini imha eden sözleşme tarafından kısa süre önce boşalan adrese dağıtılır. Ancak bu sefer bayt kodu, sözleşme adresindeki tüm belirteçleri çalabilecek kötü niyetli bir sözleşmeye “dönüşür” (nasıl olduğunu daha sonra açıklayacağız). Dolandırıcılık tamamlandı. 

Metamorfik akıllı sözleşmelerin oluşturduğu riskler artık açıkça görülüyor. Ama yine de merak ediyor olabilirsiniz, bu metamorfizma hilesi gerçekte nasıl çalışıyor? Bunu anlamak için, bayt kodu düzeyinde daha derine inmeniz gerekir. 

CREATE2 metamorfizma olasılığını nasıl açar? 

OLUŞTUR2 bir işlem kodu yükseltmesidir, Ethereum'a tanıtıldı Şubat 2019'da akıllı sözleşmeleri dağıtmanın yeni bir yolunu sunuyor. 

CREATE2, geliştiricilere akıllı sözleşmelerinin dağıtımı üzerinde daha önce sahip olduklarından daha fazla kontrol sağlar. Orijinal CREATE işlem kodu, geliştiricilerin dağıtılacak bir akıllı sözleşme için hedef adresi kontrol etmesini zorlaştırır. CREATE2 ile insanlar belirli bir akıllı sözleşmenin adresini blok zincirine fiilen dağıtmadan önce önceden kontrol edebilir ve bilebilirler. Bu ön bilgi – artı bazı akıllı numaralar – insanların metamorfik akıllı sözleşmeler oluşturmasını sağlayan şeydir. 

CREATE2 geleceği nasıl tahmin edebilir? İşlem kodunun hesaplaması deterministiktir: girişler değişmediği sürece CREATE2 tarafından belirlenen adres değişmeyecektir. (En küçük değişiklik bile dağıtımın başka bir yerde gerçekleşmesine neden olur.)

Daha ayrıntılı olarak, CREATE2, birkaç öğeyi birleştiren ve bir araya getiren bir işlevdir. İlk olarak, konuşlandırıcının (veya gönderenin) adresini içerir: oluşturulacak olanın ebeveyni olarak hareket eden başlatıcı akıllı sözleşme. Ardından, geliştiricinin aynı kodu farklı adreslere (tuzu değiştirerek) dağıtmasına izin veren ve mevcut, aynı sözleşmelerin üzerine yazılmasını önleyen gönderici (veya "tuz") tarafından sağlanan isteğe bağlı bir sayı ekler. Son olarak, yeni bir akıllı sözleşmeye dönüşen tohum olan bazı akıllı sözleşme başlatma (“init”) bayt kodunun keccak256 karmasını kullanır. Bu karma kombinasyon, bir Ethereum adresi belirler ve ardından verilen bayt kodunu bu adrese dağıtır. Olduğu sürece bayt kodu tamamen aynı kalır, CREATE2 verilen bayt kodunu her zaman blok zincirinde aynı adrese dağıtır.

CREATE2 formülü şöyle görünür. (Not: Aşağıdaki örnekte başka bir öğe, bir "0xFF" göreceksiniz. Bu sadece CREATE2'nin kullandığı sabit bir çarpışmaları önlemek önceki CREATE işlem koduyla.)

Artık kodu deterministik bir adrese dağıtmanın bir yolu olduğuna göre, bunu yapmak nasıl mümkün olabilir? değişiklik aynı adresteki kod? İlk başta, bu imkansız görünebilir. CREATE2 kullanarak yeni kod dağıtmak istiyorsanız, bayt kodunun değişmesi gerekir ve bu nedenle CREATE2 farklı bir adrese dağıtılır. Peki ya bir geliştirici bayt kodunu, CREATE2 bir akıllı sözleşmeyi devreye soktuğunda farklı koda "dönüştürebilecek" şekilde oluşturduysa?

Metamorfik bir sözleşme gerçekte nasıl çalışır?

Akıllı bir sözleşmeyi metamorfik bir sözleşmeye dönüştürmenin tarifi, her biri benzersiz bir rol oynayan toplamda üç akıllı sözleşme gerektirir.

Bu gerekli bileşenlerden biri, operasyonun beyni olan Metamorfik Sözleşme Fabrikasıdır. Bu "Fabrika", Metamorfik Sözleşmenin yanı sıra Uygulama Sözleşmesi adı verilen başka bir akıllı sözleşmenin uygulanmasından sorumludur, çünkü kodu sonunda Metamorfik Sözleşme içinde uygulanacaktır. Bu üç sözleşme arasındaki ince bir koreografi, aşağıdaki şemada gösterildiği gibi metamorfizma ile sonuçlanır.

Metamorfik Akıllı Sözleşmeleri Tespit Etmek İçin Bir Araç PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

İşyerindeki işlemleri aydınlatmak için her adımı, 1-7'yi ayrıntılı olarak tartışalım.

1. Adım: Bir geliştirici her şeyi harekete geçirir

Bir kodlayıcı, sonunda Metamorfik Sözleşme ile sonuçlanacak olan bazı akıllı sözleşme kodları - Uygulama Sözleşmesi bayt kodu - tasarlar. Geliştirici bu kodu, asıl amacı diğer akıllı sözleşmeleri dağıtmak olan akıllı bir sözleşme olan Metamorfik Sözleşme Fabrikasına gönderir. Bu eylem, tüm Metamorfik Sözleşme oluşturma sürecini harekete geçirir.

Bundan sonraki her şey bu ilk adımın sonucudur. Aslında, 1'den 6'ya kadar olan adımlar, blok zincirindeki tek bir atomik işlemde gerçekleşir, yani neredeyse hepsi aynı anda. Bu adımlar, Metamorfik Sözleşme içindeki kodu değiştirmek ve sürekli şekil değiştirmesini sağlamak için sonsuza kadar tekrarlanabilir.

2. Adım: Fabrika, Uygulama Sözleşmesini dağıtır

Fabrikanın dağıttığı ilk sözleşme, uygulama kodunu içeren Uygulama Sözleşmesidir. (Yaratıcı, biliyoruz.) Uygulama Sözleşmesini, bu durumda Metamorfik Sözleşmenin içinde olacak olan nihai varış noktasına gönderilmeden önce bazı kodları tutan bir yükleme platformu veya ara nokta olarak düşünün. 

Adım 3: Fabrika, Uygulama Sözleşmesi adresini depolar

Blok zincirine konuşlandırılmasından sonra, Uygulama Sözleşmesi mutlaka bazı blok zinciri adreslerinde mevcut olacaktır. Fabrika bu sözleşme adresini kendi belleğinde saklar (daha sonra, Adım 5'te kullanılmak üzere). 

4. Adım: Fabrika, Metamorfik Sözleşmeyi devreye sokar

Fabrika, CREATE2 ve metamorfik bayt kodunu kullanarak Metamorfik Sözleşmeyi dağıtır. Metamorfik bayt kodunun nasıl çalıştığına dair teknik, derinlemesine bir kılavuz bulabilirsiniz. okuyun, ancak metamorfik bayt kodu yürütüldüğünde, kodu başka bir zincir üstü konumdan - bu durumda Uygulama Sözleşmesinden - Metamorfik Sözleşmeye kopyaladığını söylemek yeterlidir. Son bölümde bahsettiğimiz gibi CREATE2 deterministik olduğundan – aynı gönderici, salt ve bytecode kullanıldığı sürece – bu adımlar kaç kez tekrarlanırsa tekrarlansın Metamorfik Sözleşme adresi aynı kalır.

Aşağıda, metamorfik bayt kodunun neye benzediğinin bir örneği verilmiştir. metamorfik depo 0 yaşına kadar. Bu, metamorfik bayt kodunun sadece bir örneğidir - potansiyel olarak sayısız varyasyon vardır ve bu, metamorfik sözleşmelerin tespitini büyük ölçüde karmaşıklaştırır.

Metamorfik Akıllı Sözleşmeleri Tespit Etmek İçin Bir Araç PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Adım 5: Metamorfik bayt kodu, Uygulama Sözleşmesi adresi için Fabrikayı sorgular

Metamorfik bayt kodu, Fabrikadan Uygulama Sözleşmesi adresini ister (Adım 3'te saklandığı gibi). Adres isteyen metamorfik bayt kodu aynı kaldığı sürece Uygulama Sözleşmesinin adresinin değişip değişmemesi önemli değildir. Aslında, geliştirici daha sonra yeni bir Uygulama Sözleşmesi dağıtırsa – jetonları çalmak için tasarlanmış kötü niyetli bir sözleşme gibi – Adım 2'ye göre mutlaka farklı bir blok zinciri adresine dağıtılacaktır. Bunun Metamorfik Sözleşmenin oluşturulması üzerinde hiçbir etkisi yoktur.

6 Adım: Uygulama Sözleşmesi kodu Metamorfik Sözleşmeye kopyalanır

Adım 5'te öğrenilen blok zinciri adresini kullanarak metamorfik bayt kodu, Uygulama Sözleşmesindeki kodu bulur ve bu kodu Metamorfik Sözleşmenin yerel deposuna kopyalar. Metamorfik Sözleşmenin şekli şu şekilde değişir: Uygulama Sözleşmesinden kod kopyalayarak. 

Adım 7: Durulayın ve tekrarlayın

Bir geliştirici, 1'den 6'ya kadar olan Adımları tekrar tekrar tekrarlayabilir ve Metamorfik Sözleşmedeki kodu yeni bir Uygulama Sözleşmesi yoluyla istedikleriyle değiştirebilir. Gerekli olan tek şey, Metamorfik Sözleşmede önceden var olan kodu kaldırmak için SELFDESTRUCT işlem kodunu – veya daha doğrusu, sonuçta bir SELFDESTRUCT ile sonuçlanan DELEGATECALL işlem kodlarını – kullanmaktır. Döngüyü yeni Uygulama Sözleşmesi bayt koduyla tekrarlayarak, Metamorfik Sözleşme sihir gibi, biçim!

Bu tekniği metamorfik sözleşmeler oluşturmak için kullanan akıllı bir geliştirici, web3 kullanıcılarının ayaklarının altındaki zemini sürekli olarak değiştirebilir. Örneğin, dolandırıcılık senaryosunu tekrar düşünün. Bir geliştirici, ilk olarak, grafikte gösterilen ve yukarıdaki adımlarda detaylandırılan dolambaçlı yoldan Metamorfik Sözleşmede sona eren belirteç-stake kodu ile Uygulama Sözleşmesini dağıtabilir. Dolandırıcı daha sonra bu kodu kendi kendini imha edebilir ve belirteç içeren yeni bir Uygulama Sözleşmesi dağıtarak değiştirebilir.çalma kodu. 

Uygulama Sözleşmesinde konuşlandırılan her şey, eninde sonunda Metamorfik Sözleşme ile sonuçlanacaktır. Hilenin özü budur. 

***

Metamorfik akıllı sözleşmeler, gördüğünüz şeyin elde ettiğiniz şey olduğu örtülü web3 sosyal sözleşmesini bozar. Kabuk oyununun bir topu gizlemek için üç hareketli bardak kullanmasına benzer şekilde, metamorfik bir sözleşmenin oluşturulmasında üç sözleşmenin etkileşimi, sözleşmenin gerçek işlevini takip etmeyi zorlaştırır. Kabuk oyunu özellikle uygun bir karşılaştırmadır, çünkü güven hilesi yapanlar, kazanmalarını sağlamak için genellikle el çabukluğu ve yanlış yönlendirme kullanır. Web3 versiyonunda, metamorfik sözleşme yazarları benzer şekilde “topu” - yani uygulama kodunu - ortadan kaldırabilir (okuyun: kendini imha edebilir) ve onu istedikleriyle değiştirebilirler.

Metamorfik sözleşmelerin varlığı, web3 kullanıcılarının istedikleri zaman değişebilen sözleşmelere girmelerinin mümkün olduğu anlamına gelir - bu nedenle bu tehdidi anlamak ve bunlara karşı savunmak çok önemlidir. Metamorfik Sözleşme Dedektörüm kullandıkları el çabukluğu ile metamorfik sözleşmeleri belirlemeye yönelik ilk adımı sunuyor. Dedektörün gelecekte geliştirilebileceği birkaç yol vardır. Örneğin, Metamorfik Sözleşmeyi oluşturan Fabrikayı (veya dağıtım sözleşmesini) tekrar tekrar kontrol ederek, Fabrikanın kendisinin metamorfik olup olmadığı görülebilir. Bu özellik, Dedektörün yükseltilmiş 2. sürümüne faydalı bir ek olacaktır.

Bir kez daha tekrar etmekte fayda var: Bu Dedektör aracı kusursuz değildir. Yakaladığı işaretlerin tümü metamorfik potansiyelin açıklayıcı işaretleri değil, ancak ipuçları sunuyorlar. Bu bayrakları belirlemek, daha kapsamlı bir araştırma için sadece bir başlangıçtır. Bu nedenle, Dedektörü, CREATE2 veya DELEGATECALL işlem kodlarının varlığı gibi kolayca yanlış pozitifler oluşturabilecek bayrakları aramak için genişlettik. Aracı geliştirmek için önerileriniz varsa veya bu ilk çalışmayı geliştirmek veya eklemek istiyorsanız, şu adresten benimle iletişime geçin: .

Metamorfik özellikler için akıllı sözleşmeleri analiz edin Dedektör aracını kullanma ve ziyaret GitHub repo Daha fazla bilgi için

Editör: Robert Hackett @rhhackett

***

Teşekkür: Bu gönderiyi ve aracı hayata geçirmede değerli geri bildirimleri ve tavsiyeleri için Robert Hackett, Eddy Lazzarin, Sam Ragsdale, Riyaz Faizullabhoy, Noah Citron, Mason Hall ve Daejun Park'a BÜYÜK bir not vermek ve teşekkür etmek istiyorum. 

***

Burada ifade edilen görüşler, alıntı yapılan bireysel AH Capital Management, LLC (“a16z”) personelinin görüşleridir ve a16z veya iştiraklerinin görüşleri değildir. Burada yer alan belirli bilgiler, a16z tarafından yönetilen fonların portföy şirketleri de dahil olmak üzere üçüncü taraf kaynaklardan elde edilmiştir. a16z, güvenilir olduğuna inanılan kaynaklardan alınmış olsa da, bu tür bilgileri bağımsız olarak doğrulamamıştır ve bilgilerin kalıcı doğruluğu veya belirli bir duruma uygunluğu hakkında hiçbir beyanda bulunmaz. Ayrıca, bu içerik üçüncü taraf reklamlarını içerebilir; a16z, bu tür reklamları incelememiştir ve burada yer alan herhangi bir reklam içeriğini onaylamaz.

Bu içerik yalnızca bilgilendirme amaçlıdır ve yasal, ticari, yatırım veya vergi tavsiyesi olarak kullanılmamalıdır. Bu konularda kendi danışmanlarınıza danışmalısınız. Herhangi bir menkul kıymete veya dijital varlığa yapılan atıflar yalnızca açıklama amaçlıdır ve yatırım tavsiyesi veya yatırım danışmanlığı hizmetleri sağlama teklifi teşkil etmez. Ayrıca, bu içerik herhangi bir yatırımcıya veya muhtemel yatırımcılara yönelik değildir veya bu içerik tarafından kullanılması amaçlanmamıştır ve a16z tarafından yönetilen herhangi bir fona yatırım yapma kararı verilirken hiçbir koşulda bu içeriğe güvenilemez. (Bir a16z fonuna yatırım yapma teklifi, yalnızca tahsisli satış mutabakatı, abonelik sözleşmesi ve bu tür bir fonun diğer ilgili belgeleri ile yapılacaktır ve bunların tamamı okunmalıdır.) Bahsedilen, atıfta bulunulan veya atıfta bulunulan herhangi bir yatırım veya portföy şirketi veya a16z tarafından yönetilen araçlara yapılan tüm yatırımları temsil etmemektedir ve yatırımların karlı olacağına veya gelecekte yapılacak diğer yatırımların benzer özelliklere veya sonuçlara sahip olacağına dair hiçbir garanti verilemez. Andreessen Horowitz tarafından yönetilen fonlar tarafından yapılan yatırımların bir listesi (ihraççının a16z'nin kamuya açıklanmasına izin vermediği yatırımlar ve halka açık dijital varlıklara yapılan habersiz yatırımlar hariç) https://a16z.com/investments adresinde bulunabilir. /.

İçerisinde yer alan çizelgeler ve grafikler yalnızca bilgilendirme amaçlıdır ve herhangi bir yatırım kararı verirken bunlara güvenilmemelidir. Geçmiş performans gelecekteki sonuçların göstergesi değildir. İçerik yalnızca belirtilen tarih itibariyle konuşur. Bu materyallerde ifade edilen tüm tahminler, tahminler, tahminler, hedefler, beklentiler ve/veya görüşler önceden bildirilmeksizin değiştirilebilir ve farklı olabilir veya başkaları tarafından ifade edilen görüşlere aykırı olabilir. Ek önemli bilgiler için lütfen https://a16z.com/disclosures adresine bakın.

Zaman Damgası:

Den fazla Andreessen Horowitz