Статьи

Ethereum: объяснения внутренних транзакций и передачи токенов

При использовании различных исследователей блокчейна Ethereum, таких как Etherscan, для проверки адресов вы можете встретить определенные адреса, которые имеют транзакции , внутренние транзакции и передачи токенов . Чтобы понять разницу между ними, мы сначала должны понять концепцию внешних и внутренних адресов в Ethereum.

Внешние и внутренние адреса

В Ethereum есть два типа адресов (учетных записей): Внешний и Внутренний.

Когда пользователь создает адрес, он называется внешним адресом, потому что он используется для доступа к блокчейну извне — из «пользовательского мира».

При развертывании интеллектуального контракта в блокчейне Ethereum создается внутренний адрес, который используется в качестве указателя на работающую программу блокчейна (развернутый интеллектуальный контракт). Вы можете настроить его извне для вызова функций или назначить его изнутри, чтобы другой развернутый контракт мог вызывать функции уже развернутого контракта.

Важно отметить, что все транзакции в блокчейне Ethereum запускаются с внешних учетных записей. Даже если один умный контракт должен вызывать другой, а тот, в свою очередь, вызывает другой, самую первую транзакцию должна выполнять внешняя учетная запись. В настоящее время нет способа автоматически вызвать транзакцию извне, хотя решения находятся в стадии разработки .

Основное различие между внешними и внутренними учетными записями заключается в следующем:

Внешние адреса имеют закрытые ключи и могут быть доступны пользователям. Внутренние адреса не могут быть доступны напрямую как кошелек, а могут использоваться только путем вызова их функций.

Типы транзакций

Это возвращает нас к типам транзакций. Давайте проверим этот адрес .

Скриншот адреса

Адрес содержит несколько записей на вкладке « Транзакции » — некоторые исходящие, некоторые входящие. Эти транзакции являются внешними транзакциями — с и на внешние счета. Итак, согласно скриншоту, мы можем видеть этот адрес, полученный 5 эфиром 7 дней назад от этого адреса и 0,2 эфира 12 дней назад от кошелька Binance . Но если мы посмотрим на самого последнего отправителя, мы увидим еще несколько интересных записей:

отправитель

Этот адрес разослал Ether людям, но он также сделал кое-что еще: он внес вклад в краудсейл EOS и отозвал токены EOS. Большинство этих транзакций отправляют 0 эфира; они просто вызывают функции. Например, эта транзакция показывает, что почти полгода назад наш главный герой вызвал функцию заявки в контракте EOS Crowdsale, и это привело к тому, что краудсейл отправил этому человеку 312 токенов взамен.

EOS Crowdsale

Детали этой сделки не имеют большого значения. Мы просто смотрим на это, чтобы правильно определить вкладку Транзакции :

На вкладке Транзакции перечислены все транзакции, инициированные внешними учетными записями, независимо от того, кто их инициировал — получатель или отправитель.

Теперь давайте посмотрим на вторую вкладку нашего первого адреса: Внутренние транзакции .

Примечание: не все адреса будут иметь эту вкладку. Он присутствует только тогда, когда внутренняя транзакция действительно произошла на счете.

Внутренние транзакции

Давайте посмотрим на один из них — например, этот .

Внутренняя транзакция

Это была заявка на доменную службу ENS (Ethereum Name Service), которая позволяет организациям регистрировать домен eth например bitfalls.eth чтобы люди могли отправлять эфир прямо на него, а не на длинный и загадочный адрес, например 0xbE2B28F870336B4eAA0aCc73cE02757fcC428dC9 . Транзакция описывает себя как отправка в контракт с ENS-Registrar , который затем передает 0,94 эфира на адрес, который первоначально сформировал аукцион, а затем контракт называется функцией завершения.

Но как это внутренняя транзакция, если она все еще должна быть инициирована транзакцией с внешнего аккаунта? Да, первоначальная исходная передача была внешней, но эта конкретная транзакция является лишь одной в цепочке транзакций, которые происходили внутри блокчейна, от контракта к контракту. Поскольку контракт автоматически отправлял эфир обратно из-за его запуска другим контрактом (процесс аукциона ENS), он регистрировался как внутренняя транзакция, поскольку передача эфира была результатом логики, встроенной в интеллектуальный контракт, и не была отправлена кто-то извне. Следовательно:

На вкладке Внутренние транзакции перечислены все транзакции, инициированные внутренними счетами в результате одной или нескольких предыдущих транзакций.

Переводы токенов

Наконец, есть вкладка Token Transfers .

Переводы токенов

Передачи токенов — это, само собой разумеется, транзакции, которые выполняют только и исключительно это: токены передачи. Рассматриваемый токен должен быть токеном ERC20 (т.е. иметь стандартизированные функции), и тогда он будет указан здесь, если единственная цель транзакции — передача токенов. Здесь мы видим пример спам-токена : 1500 токенов BOBx были отправлены на адрес 8 дней назад. Токен-спам (рассылка) является распространенным методом продвижения проекта ICO. Airdrops заставляет получателей задаться вопросом, откуда взялись токены. Поскольку они Google для проекта, его рейтинг Google SERP растет и создаются обратные ссылки. Учитывая, что создать собственный токен практически бесплатно и очень тривиально, затраты на маркетинг для такого трюка близки к нулю. $ 10, если быть более точным, что становится очевидным, если мы посмотрим на транзакцию более внимательно …

Транзакция спам-токена

Транзакция спам-токена

Мы можем видеть, что это была действительно газета с большим количеством адресов, предназначенных для получателей.

Вы также заметите, что токены были отправлены «от» 0x00000... Так что это значит? Как нулевой адрес может быть источником? Это просто означает, что эта спам-транзакция также была источником токена. Токен был создан и распространен среди 100 человек одним махом всего за 10 долларов. Вы можете проверить, сколько адресов входило в этот трюк, посмотрев « Входные данные» .

Вывод

Теперь вы знаете, как интерпретировать типы транзакций в Ethereum в Etherscan, и можете с достаточной степенью уверенности сказать, что было передано кому, когда и откуда, а также определить, что его вызвало. Это пригодится в ваших будущих исследованиях блокчейна Ethereum.