
Tampaknya sudah terlambat untuk membahas proyek cryptocurrency dan blockchain: mereka mengatakan semuanya mungkin terjadi beberapa tahun yang lalu, dan kemudian harapan yang tinggi tidak terpenuhi, kegembiraan mereda dan topik menjadi tidak relevan.
Tetapi pada kenyataannya, saat ini Anda dapat membicarakannya dengan serius. Pada puncak hype, sulit untuk menembus teriakan "IMPOSING IN ICO KAMI ITU BUKAN KEMUDIAN TERLAMBAT" untuk sesuatu yang lebih masuk akal, dan komponen kedua keluar skala dalam rasio signal-to-noise. Tapi sekarang, ketika hype mereda dan pecinta makanan cepat saji beralih ke hal lain, menjadi mungkin untuk berbicara secara normal. Dan ketika pertanyaan tentang "apa yang harus diinvestasikan" tidak lagi menaungi hal-hal lain, menjadi lebih mudah untuk menyentuh aspek teknis.
Ryan Lewis (dikenal, misalnya, untuk layanan kecil
CountMyCrypto ) melihat ekosistem blockchain baik dari perspektif penggemar dan dari perspektif spesialis teknis: dia tertarik pada "apa yang terjadi" dan dalam menguji proyek-proyek blockchain. Dan kami memutuskan untuk mengajukan pertanyaan pertama kepadanya tentang yang pertama, dan kemudian pergi ke yang kedua.
- Pada tahun 2018, ketika banyak yang beralih dari cryptocurrency, Anda tetap antusias. Apakah Anda berpikir bahwa dalam jangka panjang mereka memiliki masa depan yang cerah?- Benar. Tahu
siklus Gartner
Hype ? Ada siklus yang khas: pertama, harapan yang tidak dapat dibenarkan ditugaskan untuk teknologi baru, kemudian mereka kecewa di dalamnya, dan setelah semua ini, itu berkembang dan menjadi benar-benar diminati. Menurut pendapat saya, kita sekarang berada di titik paling bawah dari kekecewaan. Ini sebagian karena krisis mata uang kripto saat ini. Seperti yang Anda tahu, tren harga sedang turun sekarang. Namun demikian, ada pendapat luas yang saya setujui bahwa pada tahap inilah pekerjaan penting terjadi.
Sekarang ada jauh lebih sedikit spekulasi dari pada 2017 dan paruh kedua 2016. Proyek perlahan tapi pasti berkembang. Sejalan dengan penurunan harga, minat terhadap ICO menurun, tetapi jumlah perusahaan baru tidak menurun: hanya perusahaan yang beralih ke pembiayaan swasta. Gagasan yang menjanjikan masih hilang.
Menurut pendapat saya, ini adalah tren positif, karena berkat itu, orang-orang dengan niat yang tidak realistis disaring. Saya pikir Anda tahu bahwa sebagian besar teknologi modern di bidang ini tidak memiliki skala yang baik, dan banyak startup yang telah mengumpulkan banyak uang telah didasarkan pada harapan yang sangat tidak realistis. Sekarang periode konsolidasi telah tiba, dan, dari sudut pandang saya, ini adalah yang terbaik. Pekerjaan sedang berlangsung pada proyek-proyek yang sangat menarik, mereka hanya tidak membicarakannya setiap hari di berita.
Khususnya, dalam kasus Ethereum, penurunan jumlah transaksi bagi saya merupakan pertanda sehat. Arsitektur blockchain Ethereum tidak dirancang untuk sejumlah aplikasi terdesentralisasi yang mulai muncul tahun lalu setelah rilis CryptoKitties. Salah satu penginjil IT Parity baru-baru ini bahkan setengah bercanda meminta untuk berhenti menggunakan DApps baru di bawah Ethereum. Banyak yang marah mendengar ini, tetapi, pada dasarnya, dia benar. Anda tidak dapat terus menggunakan aplikasi yang semakin terdesentralisasi di Ethereum tanpa memikirkan arsitektur aplikasi ini. Penting untuk mencoba melakukan tindakan maksimal di luar rantai, karena situasi saat ini tidak dapat berlanjut untuk waktu yang lama.
Secara umum, tingkat aktivitas yang cukup tinggi sekarang diamati, tetapi karena kenyataan bahwa semua blockchain baru meluncurkan jaringan utama mereka, jumlah transaksi didistribusikan di antara sejumlah besar blockchain. Selain itu, popularitas blockchain tanpa tokenization terus meningkat - Hyperledger dan Corda dapat disebutkan sebagai contoh. Corda dibuat dalam konsorsium R3, dapat digunakan sebagai blockchain pribadi. Jadi sekarang ada sejumlah blockchain yang tidak bersifat publik dan token, Anda tidak dapat melihat aktivitas saat ini di dalamnya. Yah, tentu saja, ada blockchain dalam berbagai organisasi yang dibuat oleh berbagai implementasi Blockchain sebagai Layanan seperti SAP atau yang ditawarkan oleh Microsoft. Jadi, saya pikir, tingkat aktivitas sekarang cukup tinggi, hanya saja tidak semua kegiatan ini terlihat oleh publik.
- Beberapa tahun yang lalu, banyak yang menikmati berita bahwa bahkan konferensi Bitcoin berhenti menerima pembayaran dalam bitcoin karena kenaikan biaya dan waktu pemrosesan. Sekarang bagaimana dengan cryptocurrency sebagai bentuk pembayaran?- Sebagai contoh, saya dapat mengutip konferensi Hacker Congress Paralelní Polis di Praha, di mana saya akan berada sekarang - mereka menerima pembayaran hanya dalam bitcoin dan cryptocurrency lainnya. Saya sudah membeli tiket untuk bitcoin, dan sementara saya di sana, saya akan membeli semua makanan untuk mereka juga. Namun, Anda mengangkat masalah yang sangat penting: karena kenaikan harga untuk Bitcoin, untuk beberapa waktu orang menggunakannya bukan untuk transaksi, tetapi sebagai investasi. Sepanjang waktu dikatakan bahwa itu adalah emas elektronik, jadi itu dibeli untuk penyimpanan, dan bukan untuk transaksi. Pada tahun 2013, saya membeli sedikit bir dan kopi untuk bitcoin - kemudian harganya beberapa pound atau beberapa euro, dan sekarang jumlah bitcoin yang sama dapat dijual dengan jumlah uang yang lumayan.
Bahkan, banyak hal tergantung pada orang tertentu. Misalnya, saya punya pacar dari Rusia yang tidak memiliki rekening bank, selama empat tahun terakhir dia hanya menggunakan cryptocurrency karena alasan etika. Ada sejumlah kecil orang seperti itu, sebuah contoh yang membuktikan bahwa hidup secara prinsip adalah mungkin. Tetapi sebagian besar dari perusahaan-perusahaan yang dulu menerima bitcoin sekarang berhenti melakukan ini. Ini sebagian disebabkan oleh kenyataan bahwa selama lonjakan minat bitcoin di beberapa kafe atau bar, mereka dapat melatih karyawan untuk menggunakan aplikasi, dan kemudian karyawan ini pergi, dan kasir berikutnya tidak tahu bagaimana cara bekerja dengan aplikasi tersebut. Sangat disayangkan hal itu terjadi seperti ini, karena keterampilan ini sangat sederhana. Untuk sebagian besar, semuanya terkait dengan pelestarian pengetahuan yang ada. Cukup banyak yang dilakukan sekarang untuk mengintegrasikan cryptocurrency dan uang fiat, menyederhanakan pembayaran.
Secara umum, kita sekarang dalam semacam fase peralihan. Pada awalnya, ada banyak antusiasme karena fakta bahwa orang berharap untuk membayar semuanya hanya dengan cryptocurrency. Kemudian antusiasme ini habis, dan ketidakstabilan kursus mendorong banyak orang menjauh. Namun, saya percaya bahwa waktunya tidak jauh ketika orang akan menggunakan banyak cryptocurrency. Perlu juga diingat upaya berbagai perusahaan untuk memperkenalkan sensor - diketahui, misalnya, PayPal menutup akun orang karena alasan politik. Berkat ini, kesadaran akan perlunya uang bebas sensor sekarang mendapatkan dasar.
- Tiga tahun lalu mereka suka mengulangi “kemungkinan blockchain tidak terbatas pada bitcoin, ia memiliki banyak aplikasi lain yang mungkin”, dan mereka mencoba menggunakannya di berbagai bidang. Dan apa yang ditunjukkan kehidupan sekarang? Apakah berguna dalam praktik di tempat lain?- Ya. Salah satu proyek terbaru paling terkenal dibuat oleh Samsung untuk pengangkutan barang. Anda mungkin tahu bahwa setiap kapal kargo yang datang dari Tiongkok ke Eropa menghasilkan sekitar dua kilogram dokumen. Ini membutuhkan banyak sumber daya, karena tidak hanya tentang kertas, tetapi juga tentang ratusan orang yang menandatangani, mencap, mengisi dokumen-dokumen ini, dan sebagainya. Semua ini diperlukan karena orang tidak saling percaya: perusahaan yang menerima barang ingin memastikan bahwa barang itu tidak palsu; pihak berwenang ingin memastikan bahwa perusahaan tidak mengimpor sesuatu yang ilegal; otoritas dari berbagai negara tidak saling percaya. Berkat ini, muncul ide untuk menggunakan blockchain untuk menyelesaikan masalah kurangnya kepercayaan ini, terutama yang diterapkan pada transportasi barang. Dan baru-baru ini, sebuah konsorsium yang dipimpin oleh Samsung membuat pengiriman pertama dari Asia ke Eropa, terdaftar melalui blockchain.
Dengan demikian, sekarang ada proyek yang sukses berdasarkan pada blockchain, namun sebagian besar dari mereka masih pada tahap percobaan. Benar, beberapa perusahaan perlahan-lahan meningkatkan aktivitas - misalnya, Power Ledger, bergerak dalam distribusi listrik dan mencatat transaksi kecil menggunakan blockchain. Baru-baru ini, mereka telah memperluas bidang kegiatan mereka ke tiga kota di Australia dan tampaknya menawarkan layanan mereka bahkan di luar Australia. Beberapa bank menggunakan blockchains untuk menutup transaksi.
Ketika kami berbicara tentang blockchain di luar Bitcoin, Anda harus berhati-hati. Beberapa tahun yang lalu, suasana populer bahwa kami membutuhkan blockchain tanpa bitcoin, tapi saya pikir sekarang orang menyadari bahwa blockchain publik memerlukan motivasi dengan token. Tetapi dalam blockchains pribadi atau blockchains of consortia sebenarnya ada banyak aktivitas berbeda yang tidak terkait dengan bitcoin.
- Bisakah Anda memberikan contoh negatif, ketika sepertinya "blockchain sangat berguna di sini", tetapi kehidupan telah menunjukkan bahwa ini tidak begitu?- Sulit menjawab secara obyektif. Saya pikir Anda tidak akan menemukan kasus seperti itu bagi seseorang untuk secara terbuka menyatakan: "blockchain tidak berfungsi di sini." Tetapi ada situasi ketika perusahaan harus berbelok 180 derajat.
Di Berlin ada startup menarik bernama SatoshiPay, mereka terlibat dalam pembayaran mikro dalam penerbitan. Tujuan mereka adalah untuk memungkinkan penulis memonetisasi konten mereka: dengan sedikit biaya dalam bitcoin, sebagian kecil halaman dibuka untuk pembaca, lalu selanjutnya dan seterusnya. Pada awalnya, perusahaan dengan cepat mendapatkan ketenaran dan mampu mengumpulkan dana, tetapi kemudian biaya untuk transaksi dalam Bitcoin menjadi terlalu tinggi, dan semua rencana mereka terbakar karena ini. Kasus ini tidak berakhir dengan kegagalan total, tetapi mereka harus beralih dari Bitcoin ke Stellar. Contoh lain yang bisa saya kutip berkaitan dengan pasar prediksi. Kami berbicara tentang beberapa situs taruhan yang awalnya didasarkan pada Ethereum dan yang kemudian harus meninggalkannya. Dalam kedua contoh yang dijelaskan, gagasan menggunakan blockchain cukup masuk akal, hanya pilihan konkret yang salah dibuat.
Ada contoh lain dari tikungan tajam. Saya tidak dapat menyebutkan nama tertentu, tetapi ada desas-desus tentang startup yang menggunakan blockchain untuk membuat catatan medis. Pada awalnya, ini tampaknya arah yang menjanjikan, tetapi kemudian muncul pertanyaan mengenai sisi hukum masalah: apakah diizinkan untuk memiliki struktur data yang tidak berubah untuk menyimpan informasi, yang mungkin perlu diubah jika terjadi perubahan dalam undang-undang atau untuk alasan etis, yaitu, jika seseorang mencapai hak untuk tidak memasukkan ini informasi dalam buku medis Anda.
Saya pikir ada banyak situasi ketika perusahaan mencoba menggunakan blockchain hanya karena itu modis, dan bukan karena mereka memiliki masalah spesifik kurangnya kepercayaan, yang dapat diselesaikan dengan menggunakan blockchain. Saya pikir jenis proyek ini sedang mengalami kesulitan saat ini. Tetapi, sejauh yang saya tahu, biasanya kesulitan ini diselesaikan dengan beralih dari satu blockchain ke yang lain, atau, demi menghemat waktu, dengan beralih dari blockchain publik untuk seluruh proyek ke blockchain pribadi dengan bukti otoritas.
- Mari kita beralih ke masalah yang lebih teknis. Anda memiliki pos tentang sepuluh kesalahpahaman umum tentang blockchain / cryptocurrency. Ini ditujukan untuk masyarakat umum, dan sebagian besar pembaca kami sudah tahu apa yang dijelaskan di sana, tetapi mungkin tidak tahu hal lain. Apakah ada kesalahpahaman tentang blockchain yang umum di antara para penonton TI?- Saya tidak akan menggunakan kata "kesalahan", karena siapa pun yang terlibat dalam teknologi dan setidaknya sedikit akrab dengan blockchain akan memiliki ide yang sangat bagus tentang dasar-dasar teknologi ini. Saya pikir lebih tepat untuk berbicara bukan tentang menghilangkan kesalahan, tetapi tentang beberapa pengetahuan baru, pelatihan tambahan dalam pengembangan dan pengujian blockchain publik (blockchain pribadi jauh lebih dekat dengan apa yang biasanya dilakukan oleh programmer).
Saya pikir hal tersulit adalah membiasakan diri dengan kenyataan bahwa lingkungan produksi sepenuhnya di luar kendali pengembang. Tidak mudah untuk memprediksi kinerja apa yang akan terjadi dan mensimulasikan kondisi yang diperlukan. Bagi saya, ini adalah kesulitan utama ketika saya menulis aplikasi untuk Ethereum dengan teman-teman saya dua tahun lalu.
Semuanya berjalan lancar dengan kami, ada saluran pipa mapan, aplikasi berhasil diluncurkan di blockchain virtual, yang merupakan bagian dari set alat yang disediakan oleh Ethereum. Kami menyebarkan aplikasi ke Testnet, dan di sana itu berfungsi dengan baik. Tetapi ketika digunakan pada jaringan produksi, menjadi jauh lebih sulit untuk memprediksi bagaimana aplikasi akan berperilaku dengan pengguna. Misalnya, banyak penundaan dan tak terduga yang mungkin terjadi. Banyak masalah serius tidak terjadi dalam lingkungan pengujian, tetapi hanya timbul dalam produksi.
Misalkan Anda memiliki kontrak dalam Ethereum, dan kontrak ini, antara lain, secara dinamis membuat dompet untuk pengguna. Tetapi kontrak lain dari aplikasi yang sama dapat diluncurkan sebelum pembuatan dompet, dan ini akan terjadi karena blok yang sesuai akan ditambang terlebih dahulu. Dengan demikian, akan ada banyak perangkap yang dieksploitasi di depan Anda yang seringkali tidak dapat ditemukan sebelum produksi. Oleh karena itu, tidak cukup bagi Anda untuk menguji aplikasi, Anda harus memperkirakan terlebih dahulu bagaimana akan berperilaku dalam produksi.
Misalnya, bug yang sangat serius baru
- baru ini
ditemukan di dompet dengan Dompet Paritas multi-signature. Dompet, pada kenyataannya, dinonaktifkan karena fakta bahwa orang luar mendapatkan akses ke fungsi yang seharusnya bersifat pribadi. Dengan demikian, ia berhasil menonaktifkan seluruh kontrak. Situasi ini seharusnya tidak muncul, tetapi sejak itu terjadi, tidak ada yang bisa dilakukan, karena kode ini sudah muncul di ribuan mesin dan tidak mungkin untuk memutar kembali. Oleh karena itu, ketika memikirkan arsitektur dan pengujian, Anda harus memikirkan skenario yang paling buruk dan bagaimana mengurangi kemungkinan kerusakan dalam situasi di mana Anda tidak dapat mengingat kode.
Biasanya ketika menulis situs sebagai pilihan terakhir, Anda selalu dapat mematikan server Anda. Tentu saja, itu akan menghabiskan uang Anda, tetapi ada peluang. Dan dalam kasus blockchain publik, Anda bahkan tidak dapat melakukan ini: begitu kode yang digunakan tidak lagi mungkin untuk kembali.
- Ketika Anda berpikir tentang pengujian proyek mata uang kripto, hal pertama yang Anda ingat adalah cerita dengan pencurian raksasa. Apakah saya mengerti benar bahwa dalam menguji pertimbangan yang paling penting adalah keamanan?- Benar. Menurut efek Metcalfe, jaringan dengan pengguna terbanyak akan menjadi yang paling sukses dan populer di masa depan. Karena efek ini, dari semua blockchain publik, sebagian besar pengembangan dilakukan pada Ethereum. Banyak alat dan perpustakaan telah dibuat untuknya. Sebagai contoh, ada startup OpenZeppelin yang menyediakan akses ke berbagai pustaka dengan fungsi paling dasar - misalnya, mereka memiliki pustaka SafeMath yang mencegah meluap. Dengan demikian, mereka menangani beberapa hal yang sangat sederhana - misalnya, mereka memastikan bahwa Anda menyertakan pustaka sumber terbuka untuk keamanan.
Bertanggung jawab atas uang orang lain selalu sulit, tetapi tidak hanya pencurian adalah ancaman. Dalam kasus peretasan yang paling serius, sering kali bukan pencurian, tetapi pemblokiran akses ke uang: ini, misalnya, kasus bug di dompet Parity, yang sudah saya bicarakan. Uang tidak hilang, tetapi tidak mungkin bagi pemiliknya untuk menerimanya. Dari sudut pandang keamanan, ini adalah ancaman yang sama sekali baru yang juga harus diingat. Anda seharusnya tidak memikirkan apakah seseorang dapat mencuri uang ini, tetapi tentang apakah sistemnya aman, apakah seseorang dapat membatalkan kontrak.
Ketika saya berbicara tentang pengujian blockchain untuk keamanan, saya selalu berusaha menyampaikan gagasan bahwa kerentanan bisa ada tidak hanya dalam kontrak pintar. Alasan mereka mungkin juga karena pengembang sepenuhnya berfokus pada kontrak pintar, dan karena itu mereka kehilangan pandangan terhadap aplikasi secara keseluruhan. Tentu saja, ini memainkan peran yang jauh lebih kecil jika Anda hanya menyediakan database atau API. Namun, banyak orang mengembangkan aplikasi web atau aplikasi seluler berdasarkan blockchains, dan mungkin ada kerentanan yang sangat signifikan karena fakta bahwa pengembang tidak berpikir dengan benar. Sebagai contoh, tahun lalu pertukaran crypto Italia BitGrail meretas mata uang Nano. Tidak ada masalah dengan berinteraksi dengan dompet berbagai mata uang di backend. Tapi saya masih tidak percaya bahwa tidak ada yang memperhatikan kesalahan yang dilakukan oleh pengembang frontend. Ketika pengguna menarik uang dari dompetnya, cek dengan saldo akun dibuat di sisi klien, dan karenanya, penyerang dengan pengetahuan paling dasar tentang alat Chrome dapat menarik uang, setiap kali mengubah saldo ke jumlah yang lebih tinggi. Banyak yang mengambil keuntungan dari ini, dan ada kebocoran dana yang besar.
Jadi, mencoba membuat blockchain seaman mungkin, pengembang sering mengabaikan keamanan dasar, katakanlah, frontend. Dan ini bukan kerentanan front-end pertama yang dimanfaatkan penyerang. Menariknya, tim pengembangan yang dimaksud semuanya cukup berpengalaman; , . , - . , - . . , .
— , «» ?— , . , , . , .
, API, , . , user experience. , , , , . .
, , . , , , , .
, . . , , , . Bitcoin, , Bitcoin , Litecoin. , , Block Explorer. , .
: , Docker, Jenkins .
— , , -?— . , , — . , — , . , — , , . , , , , , .
— , , : . ?— , , . , computer science 10 , , , . , , , . - , . , , .
, , , — , , , - . . , , SQL NoSQL Redis. , 5-6 , .
— , , , « , ». , , - , ?— , . , , , .
, , , . , . ; , . , .
, , , , - . , , . , , , , . , big data, , Hadooop. , . , . , , .
— , . , , : ( , )?— , — . . , , , — , Lightning Network Bitcoin Litecoin, Plasma Raiden Ethereum. — . , Ethereum — , proof-of-work proof-of-stake. , , . , , , .
, , , , . — , , , , .
— , , . , , . , , , - ? ?— , . . , , . , , . , , , .
— . !Menit periklanan. Segera, Rian akan memberi tahu Anda lebih banyak tentang pengujian proyek-proyek blockchain secara lebih rinci: dengan daftar kerentanan yang harus diingat, dan dengan tip khusus untuk membantu mengatasi kerentanan ini. Ini akan terjadi pada konferensi Moskow Heisenbug 2018 kami , yang akan diadakan pada 6-7 Desember. Sekarang Anda dapat membaca deskripsi laporan ini dan mempelajari program konferensi secara keseluruhan.