Undang-undang Kripto/Tahap V · Pembina dan pelancar projek/5.3 Promosi dan liabiliti/Pelajaran 5
Pengauditan kontrak pintar dan apa yang dijanjikannya
Apa yang sebenarnya diliputi oleh audit kod, mengapa “dijalankan audit” bukan jaminan, siapa yang boleh bergantung pada laporan tersebut, dan bagaimana dakwaan berkaitan audit menimbulkan tanggungjawab terhadap projek.
Pendidikan, bukan nasihat undang-undang, cukai atau pelaburan. Undang-undang kripto berbeza antara negara dan negeri, dan kerap berubah. Semak peraturan semasa di tempat anda tinggal dengan peguam atau penasihat cukai yang berkelayakan sebelum anda bertindak.
Laluan paling ringan
Laluan paling murah, paling rendah cukai, paling mudah dan paling peribadi yang dibenarkan undang-undang, bermula dengan yang terbaik. Setiap langkah menyatakan peraturan yang menjadi asasnya dan syarat yang mengekalkannya sah.
- Terbitkan kod sumber yang telah disahkan di peneroka blok (block explorer) dan hash commit yang telah diteliti. Ini percuma dan menjadikan sebarang tuntutan audit boleh diperiksa, tetapi tuntutan tersebut mesti sepadan dengan kod yang telah dierkankan dan tidak dinaik taraf.
- Jika anda menggunakan perkataan 'diaudit', pautkan laporan penuh dan senaraikan penemuan yang masih belum diselesaikan. Mengabaikan penemuan serius yang belum selesai boleh mengelirukan di bawah FTC Act §5, Rule 10b-5 atau MiCA Article 7.
- Projek yang lebih kecil boleh menetapkan skop semakan secara sempit, iaitu hanya untuk kontrak yang telah dierkankan, dan menambah ganjaran ralat (bug bounty) awam. Penafian dalam laporan tersebut membatasi apa yang dibuktikannya, jadi hanya buat tuntutan yang dicakupinya.
- Firma audit hanya berutang kewajipan kecuaian biasa kepada pelanggannya di bawah Bily (Cal. 1992), jadi pembeli jarang mendapat pemulihan daripada pengaudit; projek kekal bertanggungjawab atas tuntutan mereka sendiri.
- DAO Utah memerlukan semakan keselamatan untuk kod awamnya bagi pengiktirafan undang-undang. Belanjakan semakan tersebut hanya jika anda memilih pembungkusan (wrapper) itu.
BahanUlasan keselamatan kontrak pintar yang telah diterbitkan bersama bahagian penafian, contohnya laporan FraxGov oleh Trail of Bits untuk bulan Mei 2023.Kod sumber yang disahkan dan alamat kontrak yang digunakan pada blok explorerBily lwn Arthur Young & Co., 3 Cal. 4th 370 (1992), mengenai tanggungjawab juruaudit terhadap pihak ketiga
Ingin tahu
- Jika kontrak yang telah diaudit digodam, bolehkah pembeli menyaman juruaudit?
- Adakah audit meliputi kod yang sebenarnya sedang berjalan di rantai?
- Bolehkah sesuatu projek menghadapi masalah undang-undang hanya kerana mengatakan ia telah diaudit?
Teroka
- Pengauditan kontrak pintar ialah semakan keselamatan terhadap versi tertentu kod sesuatu projek yang dilakukan oleh syarikat luar, dengan bayaran daripada pihak projek itu sendiri. Ia menghasilkan laporan yang menyenaraikan penemuan berdasarkan tahap keterukan, serta cadangan pembaikan untuk projek tersebut. Istilah ini diambil daripada pengauditan kewangan, tetapi hasilnya berbeza; skop, masa dan kaedahnya ditentukan melalui kontrak peribadi antara pihak yang mengaudit dan pihak projek. Pembeli biasanya hanya dapat melihat laporan awam sahaja. Laporan bukti rizab, yang juga disebut sebagai pengauditan oleh beberapa bursa, merupakan perkara yang berbeza (pelajaran 4.1.6).
- Laporan itu sendiri menyatakan batasannya. Sebagai contoh, ulasan Trail of Bits pada Mei 2023 mengenai FraxGov menyatakan bahawa kerja-kerja yang dilakukan adalah berdasarkan spesifikasi yang ditetapkan, penilaian dilakukan dalam tempoh masa tertentu dan bergantung pada maklumat daripada pelanggan, serta hasil penilaian tersebut “tidak seharusnya dianggap sebagai senarai lengkap isu keselamatan”. Ia juga menyatakan bahawa alat automatik mempunyai batasannya. Perbaikan yang dilakukan dicatat melalui komit, iaitu pengenal pasti versi kod tertentu, seperti “Diperbaiki dalam komit ed4e708”. Oleh itu, laporan audit hanya menggambarkan kod pada masa tertentu, bukan apa-apa yang dipasang atau dinaik taraf kemudian.
- Kod yang telah diaudit masih boleh gagal. Pada 13 Mac 2023, protokol pinjaman Euler Finance kehilangan kira-kira $197 juta. Punca masalahnya ialah ketiadaan proses pemeriksaan kesihatan dalam fungsi yang dinamakan donateToReserves; fungsi tersebut ditambah sebagai sebahagian daripada penyelesaian untuk masalah sebelumnya dan telah pun diaudit. Euler menyatakan bahawa fungsi tersebut telah diaudit berkali-kali melebihi biasa, dan terdapat insentif sebanyak $1 juta untuk pengesanan ralat. Pada 3 April 2023, penyerang tersebut mengembalikan dana bernilai kira-kira $240 juta, setelah beberapa minggu rundingan. Pengauditan dapat mengurangkan risiko; ia tidak dapat menghapuskannya sepenuhnya.
- Bagi pembeli yang berhasrat untuk menyaman pengulas kod, undang-undang berkaitan juruaudit kewangan menunjukkan halangan-halangan yang mungkin wujud. Dalam kes Bily v. Arthur Young & Co. (1992), Mahkamah Agung California memutuskan bahawa tanggungjawab juruaudit atas kelalaian biasa hanya terhadap klien mereka sahaja. Pihak lain hanya boleh menyaman atas penipuan akibat maklumat yang disampaikan secara cuai sekiranya mereka merupakan penerima manfaat yang dimaksudkan dalam laporan tersebut dan diketahui oleh juruaudit, serta atas penipuan sengaja jika ia dapat diramalkan dengan munasabah. Pembeli biasa yang membaca laporan awam biasanya memerlukan bukti selain daripada sekadar bukti bahawa pengulas kod tersebut cuai.
- Kata-kata projek itu sendiri mengenai proses audit sebenarnya membawa lebih banyak risiko. Mengatakan “telah diaudit” atau “selamat” sambil mengabaikan penemuan serius yang belum diselesaikan, atau semasa menggunakan kod yang berbeza, boleh menjadi kenyataan yang menyesatkan. Jika token tersebut merupakan sekuriti, ia boleh digunakan untuk menyokong tuntutan di bawah Peraturan SEC 10b-5 atau seksyen 12(a)(2) (pelajaran 5.3.2). Sebaliknya, Akta FTC melarang “tindakan atau amalan yang tidak adil atau menyesatkan” (pelajaran 5.1.7), dan di EU, Artikel 7 MiCA mewajibkan pemasaran dilakukan secara “adil, jelas dan tanpa penipuan”. Akta DAO Utah, yang berkuat kuasa sejak 1 Januari 2024, malah mewajibkan semakan terhadap kod DAO untuk mendapatkan pengiktirafan undang-undang.
- Baca laporan audit seolah-olah ia merupakan kontrak, bukan sekadar tanda pengesahan. Semak siapa yang membayar, apa yang termasuk dalam skop kerja, penemuan mana yang telah diperbaiki, mana yang hanya “diterima” tetapi masih belum diselesaikan, serta sama ada kontrak tersebut boleh dinaik taraf atau ditangguhkan menggunakan kunci pentadbiran (pelajaran 5.1.5). Semakan praktikal: ambil pengecam komit daripada laporan tersebut, buka kontrak yang telah digunakan di alat peneroka blok, dan pastikan sumber yang disahkan sepadan dengan versi yang telah ditinjau, serta tiada kemas kini kemudian yang menggantikannya. Jika ia tidak sepadan, laporan tersebut memberikan maklumat yang terhad tentang kod yang digunakan.
Fakta utama
- Pengauditan kontrak pintar meneliti versi tertentu kod di bawah kontrak peribadi antara pengauditor dan projek tersebut.
- Laporan FraxGov bulan Mei 2023 oleh Trail of Bits menyatakan bahawa penemuan tersebut tidak seharusnya dianggap sebagai senarai lengkap isu keselamatan.
- Euler Finance kehilangan kira-kira $197 juta pada 13 Mac 2023 akibat kecacatan dalam fungsi yang telah diaudit, dan dana tersebut dikembalikan pada 3 April 2023.
- Dalam kes Bily v. Arthur Young & Co. (1992), Mahkamah Agung California membataskan tanggungjawab kecuaian biasa juruaudit terhadap klien mereka sahaja.
- Di bawah Bily, pihak ketiga hanya boleh menyaman seorang juruaudit atas penipuan yang disebabkan oleh kelalaian sekiranya mereka merupakan penerima manfaat yang dimaksudkan secara khusus dan diketahui oleh juruaudit tersebut, atau atas penipuan yang disengajakan.
- Akta Organisasi Autonomi Terdesentralisasi Utah, yang berkuat kuasa pada 1 Januari 2024, mewajibkan kod organisasi DAO yang tersedia untuk umum telah melalui semakan keselamatan.
Latihan sembilan, enam, tiga, satu
Semakan fakta
Tarikh, angka dan dakwaan telah disemak berbanding dengan sumber yang diterbitkan yang disenaraikan di bawah.
- Trail of Bits: FraxGov Security Assessment (May 2023)
- Euler Finance: War & Peace, behind the scenes of Euler's $240M exploit recovery
- Bily v. Arthur Young & Co., 3 Cal. 4th 370 (1992), CourtListener
- 15 U.S.C. 45 (FTC Act s.5), Cornell LII
- Utah H.B. 357 (2023), Decentralized Autonomous Organizations Amendments
- Regulation (EU) 2023/1114 (MiCA), EUR-Lex