Berdasarkan laporan saya di Konferensi Transformasi Digital di Moskow pada 16 April 2018
Saya bertanya-tanya bagaimana cara kerja blockchain. Bukan hanya algoritma, kriptografi, platform, dan cryptocurrency yang ada. Bagi saya, blockchain bukan hanya teknologi, tetapi juga jenis kehidupan baru, alam semesta baru. Jika ragu, lihat Jumlah Penjualan Aragon Token ini:

Semua alamat ini, kontrak pintar, token terus berinteraksi satu sama lain, dan di belakangnya adalah tindakan orang, organisasi, dan robot. Tanpa interaksi ini, blockchain dan cryptocurrency tidak akan memiliki arti dan nilai.
Bagaimana bisnis di blockchain bekerja, apa yang dilakukan orang dan robot di sana - pertanyaan ini membuat saya mempelajari blockchain.
Masalah dan solusi
Jaringan blockchain, dan kami berbicara secara khusus tentang jaringan blockchain publik, pada kenyataannya, sepenuhnya terbuka. Anda dapat membaca informasi apa pun tentang blok, alamat, dan transaksi. Untuk programmer, ada API untuk ini (misalnya, Web3 [1]), dan untuk manusia belaka - peneliti blockchain, misalnya Etherscan [2]. Selain itu, setiap node blockchain penuh mengunduh semua blok dari awal waktu dengan informasi lengkap di dalam ke disk lokal, karena ini diperlukan untuk memverifikasi kebenaran transaksi, dan Tuhan melarang, menambang. Yaitu, setiap node blockchain adalah salinan lengkapnya, dan bahkan dengan antarmuka akses dan dokumentasi terperinci.
Tampaknya ada segalanya untuk analisis, tetapi ada itu. Blockchain vs. Ingat apa arti kata ini blockchain dalam bahasa Rusia: rantai blok. Blok menyimpan catatan transaksi dan informasi meta untuk memastikan integritas dan konektivitas. Untuk menemukan sesuatu di blockchain, Anda perlu mengetahui nomor blok atau hash transaksi, atau dalam kasus terburuk alamat. Tidak ada indeks selain yang terdaftar pada node.
Etherscan juga sedikit lebih baik. Ini menunjukkan hal yang sama yang tersedia melalui API, hanya dalam bentuk halaman web. Dan juga, untuk menemukan sesuatu, Anda harus tahu sebelumnya alamat, atau hash transaksi, atau nomor blok. Anda melihat blockchain melalui jendela sempit terbatas pada entitas ini. Ini adalah cara mempelajari alam semesta dengan mikroskop; alat yang ada benar-benar tidak cocok untuk menganalisis "secara luas".
Untuk berfilsafat, saya bahkan menggambar diagram di mana esensi masalah terlihat:

Dengan cryptocurrency, menjadi semakin tidak jelas, karena analitiknya, metode dan alat perdagangan pertukaran yang sudah lama dikenal digunakan. Anda dapat memperoleh informasi yang andal dan obyektif tentang semua parameter mata uang digital di banyak situs di Internet.
Ini tidak bisa dikatakan tentang blockchain. Informasi dalam rencana teknis utama atau murni bagi mereka yang mengerti (seperti "Etherscan"), atau fiksi tentang proyek ICO [3], DAO [4], yang memiliki bias subjektif yang eksplisit dan tidak diverifikasi oleh metode matematika.
Blockchain umumnya buram, meskipun semua informasi tersedia secara luas, jadi kami akan mengusahakannya!
Perangkat keras analytics Blockchain
Pertama kita akan memahami sejauh mana masalahnya. Ada banyak jaringan blockchain, dan juga banyak platform berbeda di mana mereka dibangun. Anda harus memulai dari suatu tempat dan saya memilih jaringan Ethereum Foundation karena beberapa alasan:
- Banyak peserta
- Kapitalisasi semua mata uang jaringan, termasuk token, mungkin yang terbesar dari semuanya
- Kontrak pintar [5] dan DAO [4], memperluas analisis yang mungkin dan menjadikannya jauh lebih bermakna dan berguna
Bahkan memilih satu jaringan, kami mendapatkan cukup banyak data (per 15 Juni 2018):
Jumlah transfer mata uang digital, total | 267 juta |
Transfer Cryptocurrency per hari, rata-rata | 750 ribu |
Jumlah alamat yang valid | 44 juta |
Jumlah kontrak pintar | 6,8 juta |
Jumlah Token yang Diterbitkan | 48 ribu |
Panggilan kontrak pintar per hari, rata-rata | 690 ribu |
Perkiraan jumlah data yang dikompresi untuk node penuh | 117 GBytes |
Awalnya, ada keinginan bahwa analisis harus sedekat mungkin dengan keadaan nyata dari jaringan, yaitu secara real time. Ini memiliki dua aspek teknis:
- Informasi dari blockchain harus masuk ke database secepat mungkin, segera setelah blok baru dibuat. Kami ingin melihat informasi saat ini, bukan arsip;
- Kami ingin menerima laporan dengan cepat, dalam satu detik atau lebih cepat, agar tidak kehilangan minat dalam mengajukan banyak pertanyaan.
Pilihannya jatuh pada database Clickhouse [6], sebuah proyek open source dari Yandex. Sebelum itu, saya belum pernah menggunakan sistem ini, dan orang-orang dari Altinity [7] membantu saya untuk mengerti, yang mana saya berterima kasih kepada mereka secara terpisah.
Struktur umum sistem adalah sebagai berikut:

Sumber data dibaca dari seluruh node jaringan Ethereum oleh proses ETL (Extract - Transform - Load), yang mem-parsing data di dalam blok dan menulisnya ke beberapa tabel di database Clickhouse. Proses dimulai segera setelah blok baru tiba di node jaringan dan berjalan terus menerus.
Di sisi kanan bagan, pengguna data, saat ini:
- Alat analisis SuperSet [8]. Dengan itu, Anda dapat membuat bagan keren dan dengan cepat menggabungkan pertanyaan untuk mendapatkan jawaban atas pertanyaan analisis;
- Python Jupiter [9] untuk analisis yang lebih lengkap dari alat pembelajaran mesin dan penerapan algoritma statistik;
- Situs web Bloxy dan API [10] untuk penggunaan informasi oleh publik.
Pengindeksan database Ethereum memerlukan waktu, setelah semua, sudah ada hampir 6 juta blok, dan masing-masing harus dibaca dari node dan diproses, tetapi pekerjaan ini di belakang kami, dan kami akhirnya dapat menikmati semua kekuatan database analitik, terutama karena datanya hanya m um, enak sekali!
Token
Mari kita mulai dengan token, karena ini adalah aplikasi kontrak pintar yang paling populer di jaringan Ethereum, kita dapat mengatakan tujuan dan makna pembuatannya. Token adalah cryptocurrency yang dapat dikeluarkan siapa pun menggunakan jenis kontrak pintar tertentu. Standar utama token adalah ERC20 [11], tetapi seperti yang akan kita lihat sekarang, semuanya tidak terbatas pada itu.
Sekarang, dengan memiliki basis untuk analitik dan SuperSet, kita dapat melihat token mana yang dikeluarkan, bagaimana token itu digunakan, dan apa yang sekarang populer:

Data adalah untuk seumur hidup Ethereum. Diagram lingkaran menunjukkan bahwa token ERC20 luar biasa dibandingkan dengan jenis lainnya. Grafik jumlah token yang digunakan secara aktif dalam transfer telah tumbuh dengan stabil sejauh ini, dan ini berarti bahwa antusiasme ICO tidak surut, tetapi bahkan sebaliknya. Bahkan, kadang-kadang beberapa ratus token baru dibuat pada hari itu, membaca cryptocurrency, tetapi tidak semua jatuh pada grafik ini, tetapi hanya mereka yang secara aktif digunakan.
Grafik di bawah ini tidak menunjukkan pertumbuhan yang cepat dari waktu ke waktu, ini adalah jumlah transaksi transfer token per hari. Di suatu tempat di musim semi 2018, ia kira-kira berhenti di level 400 ribu transaksi per hari dan tidak tumbuh. Intinya, ini berarti bahwa token baru memiliki transfer yang jauh lebih sedikit daripada sebelumnya.
Ada dua anomali dalam grafik ini: puncak transfer token ERC20 pada November 2017 dan "punuk" pertumbuhan transfer token ERC721 yang kurang menonjol pada bulan Desember.
Puncak November dikaitkan dengan token InsPromo, yang tersebar oleh hampir satu juta alamat "begitu saja", itu adalah jenis promosi airdrop [12]. Metode menarik klien ICO ini telah digunakan sebelum dan sesudah berkali-kali, tetapi skala penyebaran dalam 1 hari "koin" gratis memecahkan rekor!
Minat Desember pada token ERC721 sepenuhnya terkait dengan game CryptoKitties, orang-orang sangat antusias membeli dan menumbuhkan kucing digital. Grafik menunjukkan peningkatan cepat dalam turnover Crypto Kitties dan penurunan transaksi token lainnya, tampaknya orang lupa bahwa ada beberapa token lainnya.
Crypto Beasts dan banyak lagi
Token ERC721 [14] muncul, pada kenyataannya, dari penampilan kucing crypto [13], meskipun potensi penggunaannya jauh lebih luas. Jika standar ERC20 memungkinkan untuk mengeluarkan cryptocurrency yang diukur dalam jumlah tertentu kepada semua orang, maka ERC721 memberi setiap orang kesempatan untuk menunjukkan hak kepemilikan objek, virtual, nyata atau bahkan dunia intelektual.
Secara teknis, setiap token ERC721 menyimpan pengidentifikasi yang unik dalam kontrak pintar. Identifier ini dapat berarti kucing kritik, pedang emas, sebidang tanah, atau paten untuk sebuah penemuan. Kepemilikan pengidentifikasi diperbaiki di blockchain. Karena ada standar untuk bertukar token ERC721, mereka dapat dilihat di dompet, berdagang di bursa dan melakukan operasi umum lainnya.

Grafik atas menunjukkan jumlah transaksi dari semua token ERC721. Pada Desember 2017, terjadi peningkatan besar, 100% dari game Crypto Kitties. Minat dalam permainan berlangsung sepanjang Desember, lalu secara bertahap tidur.
Bagan bawah menunjukkan jumlah token yang berbeda dari standar ERC721 yang beredar, baca proyek menggunakan teknologi ini. Pada bulan Desember, hanya ada Crypto Kitties, dan pada bulan Februari sudah ada beberapa lusin. Nama-nama token ditampilkan di sebelah kiri, semakin besar jumlah transaksi, semakin besar font, masih anak kucing dengan simbol CK di tempat pertama.
Mengapa kita membutuhkan mixer?
Analisis Blockchain secara keseluruhan memungkinkan untuk menemukan pola dan anomali yang tidak terlihat pada tingkat mikro transaksi, alamat, dan blok. Salah satu contoh yang paling mencolok adalah "pencampur" ribuan bot yang berjalan di jaringan Ethereum.
Mari kita mulai dengan mencari anomali dalam distribusi alamat dengan jumlah penerima dan pengirim cryptocurrency:

Pada sumbu horizontal - jumlah alamat dari mana uang ditransfer ke alamat, secara vertikal - jumlah alamat tempat uang ditransfer dari alamat tersebut. Ukuran lingkaran - jumlah alamat tersebut.
Bagan kiri diambil pada Desember 2016, dan lingkaran maksimum jatuh pada alamat yang memiliki satu penerima dan satu pengirim, sedikit kurang dari alamat tanpa penerima dan juga satu pengirim. Ini cukup dimengerti, sebagian besar alamat menerima mata uang dari satu sumber dan membelanjakannya di satu tempat atau tidak membelanjakannya sama sekali, tetapi menyimpannya.
Namun pada bulan Desember 2017, lingkaran dengan dua pengirim dan tiga penerima bertambah secara tidak normal. Dan ada beberapa juta alamat seperti itu! Untuk memahami situasinya, pilih salah satu alamat ini dari lingkaran ketat dan buat grafik terjemahan:

Dapat dilihat bahwa semua alamat ini terhubung ke mixer raksasa yang mengirimkan uang ke dalamnya. Karena, rata-rata, setiap alamat memiliki lebih banyak penerima daripada pengirim, sejumlah besar penerima diperoleh dari pengirim asli dalam beberapa langkah. Tentu saja, ini dilakukan bukan oleh orang-orang, tetapi oleh robot, karena ada lebih dari 4 juta alamat seperti itu dan mereka bekerja dengan lancar dan sangat cepat, mengirimkan uang lebih lanjut dalam hitungan menit.
Kami memperkirakan volume pekerjaan robot besar ini dengan memisahkan transaksi dari alamat ini dari transaksi lain di jaringan:

Dalam hal volume transfer, mixer (kolom oranye) dalam beberapa bulan melebihi beberapa kali semua transfer lainnya dalam jaringan (kolom hijau). Tentu saja, seseorang harus memperhitungkan bahwa ia mentransfer mata uang dalam dirinya dan pergantian eksternal tidak begitu signifikan, tidak lebih dari 17 juta eter (hari ini $ 10 miliar).
Transaksi mixer telah menempati bagian penting dari bandwidth jaringan Etehereum selama beberapa bulan. Maksimal aktivitasnya terjadi pada awal 2018, ketika setiap transaksi transfer Ethereum keempat dimulai oleh robot ini, seperti yang dapat dilihat dari grafik biru dari total transaksi mixer secara total:

Namun tiba-tiba, pada akhir Februari 2018, ia berhenti bekerja. Karena kita tidak tahu alasan penggunaannya, kita hanya bisa menebak penyebab hidupnya dan kematian mendadak. Atau mungkin dia tidak mati, tetapi mengubah algoritma dan hanya meninggalkan radar kita?
Saya percaya pada blockchain
Saya percaya pada blockchain. Bisnis, orang, dan masyarakat mendapat manfaat dari penggunaannya. Untuk menggunakannya, Anda perlu memahami cara kerjanya sebagai sebuah fenomena. Menurut hukum apa yang dikembangkannya, apa saja anomali internal, tren, penurunan dan kenaikan.
Blockchain yang lebih transparan akan memungkinkan bisnis untuk melakukan kegiatan yang efektif dengan mata terbuka. Pengguna biasa akan lebih memahami apa yang sebenarnya mereka lakukan, apa yang mereka ikuti, agar lebih aman dan bahagia.
Lagipula, blockchain bukanlah jaringan, platform, blok, dan transaksi seperti halnya orang dan komunitas. Keberhasilan pengembangan teknologi ini bergantung sepenuhnya pada persepsi masyarakat oleh masyarakat, dan transparansi penting dalam proses ini.
Sastra
[1] Web 3: Platform untuk aplikasi yang didesentralisasi
[2] Etherscan
[3] ICO
[4] DAO
[5] Kontrak Pintar Ethereum
[6] Yandex Clickhouse
[7] Ketinggian
[8] SuperSet
[9] Python Jupyter
[10] Bloxy
[11] ERC20
[12] WTF adalah Airdrop? Panduan Lengkap untuk Cryptocurrency Gratis
[13] CryptoKitties
[14] standar ERC721