tBTC: Хөндлөн гинжин хэлхээний эргүүлэгт шилжих

tBTC: Хөндлөн гинжин хэлхээний эргүүлэгт шилжих

TmHsHel#5042

Бид саяхан Thesis ’tBTC-ийн аюулгүй байдлын үнэлгээ хийлээ: итгэлцлийг багасгасан, эргүүлэн авах боломжтой, Bitcoin-ийн дэмжлэгтэй ERC20 жетон. Bitcoin, Ethereum-ийг хамарсан Keep Network-ийг ашигладаг төсөл нь хэрэглэгчдэд Bitcoin-ийн дэмжлэгтэй ERC20 ашиглан Ethereum дээр гүйлгээ хийх боломжийг олгох замаар гинжин хэлхээний шинэ эдийн засгийг идэвхжүүлэх зорилготой юм. Манай тайланг энд олон нийтэд танилцуулах боломжтой.

Бид ихэвчлэн tBTC гэх мэт төслийг хянаж үздэггүй. Эцсийн эцэст, tBTC нь Bitcoin, Ethereum, Keep Network зэрэг хэд хэдэн системийг хамардаг. Энэ бүх уялдаа холбоог хөнгөвчлөх ухаалаг гэрээнүүд нь нэлээд төвөгтэй бөгөөд эдгээр гурван протоколыг ойлгохыг шаарддаг. Бидний өмнө нь Liquality болон Atomic Loans зээлийн чиглэлээр хийсэн ажил ижил шинж чанартай байсан ч tBTC-ийн асар том кодын суурь нь үүнийг өөр түвшинд тавьжээ.

Хяналтын явцад бид гинжин хэлхээний системийн хөгжлийн талаар маш их зүйлийг сурч мэдсэн. Ялангуяа Bitcoin гүйлгээний талаархи бидний хийсэн судалгаагаар Ethereum дээр Bitcoin гүйлгээг шалгахад маш сонирхолтой хязгаарлалт байгааг олж мэдсэн. Бид энэ олдворыг эндээс өргөжүүлж байна.

SPV баталгаа гэж юу вэ?

Биткойны хувьд тухайн блок дотор гүйлгээ байгааг нотлохын тулд SPV нотолгоог ашигладаг. Энгийнээр хэлбэл, нотолгоо нь Merkle-ийн нотолгоог Bitcoin block-ийн hashMerkleRoot-той хослуулан блок дотор гүйлгээ байгааг харуулж байна.

Иймэрхүү нотолгоог харьцангуй тооцооллын хувьд хөнгөн тул ихэвчлэн ашигладаг. Энэ өмч нь tBTC-ийг бүрдүүлдэг ухаалаг гэрээний хүрээнд онцгой ач холбогдолтой юм. Энэ нь EVM (Ethereum Virtual Machine) дээр ажилладаг тул tBTC нь Ethereum-ийн хязгаарлагдмал нөөцөөр хязгаарлагддаг.

Бид Bitcoin дээр зарим гүйлгээ байдаг гэдгийг нотлохыг хүсч байна гэж хэлье. Энэхүү SPV-г баталгаажуулахын тулд бидэнд цөөн хэдэн оролт хэрэгтэй:

1 Гүйлгээг агуулсан блокийн толгой хэсэг

2 Түүхий гүйлгээ өөрөө

3 Гүйлгээний индекс (блок дахь байрлал)

4 Merkle баталгаа (гүйлгээнээс Bitcoin блок толгой хүртэл "зам" үүсгэдэг зангилааны жагсаалт)

Эдгээр оролтуудыг ашиглан гүйлгээ блок дээр байгааг нотлох боломжтой бөгөөд бүгд Bitcoin цэг рүү холбогдох шаардлагагүй болно. Биткойн блокийн толгой нь хамгийн удаан хугацаанд баталгаажсан гинжин хэлхээнээс гаралтай болохыг хүлээн зөвшөөрсөн тохиолдолд Энгийн төлбөрийн баталгаажуулалт (SPV) нь хаана ч, ямар ч төхөөрөмж дээр явагдах боломжтой.

Хөндлөн гинж

Bitcoin гүйлгээг судалж байхдаа бид Ethereum дээр хийгдсэн SPV нотолгооны үндсэн хязгаарлалттай тулгарлаа: Bitcoin гүйлгээний хэмжээ.

Биткойны гүйлгээг хамгийн түрүүнд 4 МБ хэмжээтэй Bitcoin блокийн хязгаарлалтаар хязгаарладаг. Нэмж дурдахад, SPV нотолгоо нь гэрчийн мэдээллийг хасах боломжтой тул бид Bitcoin-ийн онолын хамгийн дээд гүйлгээний хэмжээг 1 MB болгож бууруулж чадна. Гэсэн хэдий ч бидний зорилгын хувьд яг дээд хязгаарыг Bitcoin блокийн хэмжээгээр тодорхойлдоггүй, учир нь энэ нь Ethereum blockchain-ээр хязгаарлагддаг.

Яагаад? Биткойноос ялгаатай нь Ethereum-ийн гүйлгээ нь гүйцэтгэлийг ашигладаг тооцооллын нөөцийн хэмжээгээр хязгаарлагддаг. Гүйцэтгэсэн ажиллагаа бүрт тодорхой хэмжээний хий шаардагддаг бөгөөд гүйлгээ нь нэг блокт агуулагдахаас илүү их хий зарцуулах боломжгүй юм. Үүнийг хийн хязгаар гэж нэрлэдэг бөгөөд үүнийг бичих үед 10 сая орчим хий байдаг.

Энэ нь Bitcoin гүйлгээний хэмжээтэй хэрхэн ойролцоо болохыг ойлгохын тулд Ethereum шар цаас Gtxdatanonzero-оос тодорхойлолтыг ашиглаж болох бөгөөд энэ нь гүйлгээний байт бүрт шаардагдах хийн зардал юм. Gtxdatanonzero нь нэг байт тутамд 16 хий байдаг.

Энэ нь SPV-ийн баталгаа болгож нийлүүлсэн Bitcoin гүйлгээний байт бүр хамгийн багадаа 16 хий зарцуулдаг гэсэн үг юм. SPV нотолгоог хэрэгжүүлэхтэй холбоотой нэмэлт зардал гарахыг анхаарч үзээрэй, гэхдээ би энэ тооцоог хийх зорилгоор эдгээрийг үл тоомсорлож байна.

Тэгэхээр Ethereum дээр SPV баталгаажуулах боломжгүй болохоос өмнө Bitcoin гүйлгээ хэр том болох вэ? Хариулт нь Ethereum-ийн хийн хязгаарыг Gtxdatanonzero-д хуваасан болно.

(10,000,000 хий) / (нэг байт тутамд 16 хий) = 625,000 байт буюу 1 MB-ийн хамгийн их гүйлгээний хэмжээнээс 63 орчим хувийг эзэлж байна.

Энэ нь tBTC-ийн хувьд юу гэсэн үг вэ?

TBTC дээр SPV нотолгоо нь анх хоёр зорилгоор үйлчилдэг байв.

1 Хадгаламжийн баталгаа: БСТ-ийн хадгаламжийг зөв хийсэн гэдгээ батлах боломжийг хэрэглэгчдэд олгож, tBTC-ийн гэрээг холбогдох Bitcoin-ийн дэмжлэгтэй ERC20-ийг гаргахад хүргэжээ.

2 Залилангийн нотолгоо: БТК-ийн хадгаламжийг хадгаламжийн кастодиан гарын үсэг зурсан бүлгээс зөвшөөрөл авалгүйгээр зарцуулсан болохыг нотлох боломжийг хэрэглэгчдэд олгож, гарын үсэг зурагчдыг огтолж, хадгаламж эзэмшигчид бонд олгох боломжийг олгов.

Луйврын нотлох баримтууд

SPV залилангийн нотолгоо нь хэрэглэгчид хортой гарын үсэг зурагчдаас хамгаалах боломжийг олгосон. Хэрэв гарын үсэг зурсан бүлэг тохиролцвол тэд хадгалуулсан БТК-г хэрэглэгчийн тодорхой зөвшөөрөлгүйгээр зарцуулах боломжтой. Энэхүү зөвшөөрөлгүй гүйлгээг tBTC-ийн гэрээнд нийлүүлснээр хэрэглэгчид зарлага гарсан болохыг нотолж, хортой гарын үсэг зурсан этгээдэд торгууль ногдуулж, хадгаламжийнхаа алдагдлыг шударгаар нөхөн төлүүлэх боломжтой болно.

Гэсэн хэдий ч, дээр дурдсан Bitcoin гүйлгээний хэмжээ хязгаарлалтыг ашиглан гарын үсэг зурагчид энэ торгуулийг хангалттай том гүйлгээнд зарцуулах замаар зайлсхийх боломжтой.

Аз болоход, SPV залилангийн нотлох баримтууд нь tBTC дээр хэрэгжүүлсэн залилангийн гэмт хэргийг баталгаажуулах хоёр механизмын нэг байсан. Альтернатив арга болох ECDSA залилангийн нотолгоо нь SPV залилангийн нотолгооноос илүү найдвартай хувилбараар хангаж өгсөн. Үүний үр дүнд SPB-ийн залилангийн нотолгоог tBTC-ийн гэрээнүүдээс хасав.

Нотлох баримт байршуулах

Хэрэглэгч бүр системд нэвтрэх үед хадгаламжийн баримтыг tBTC дээр ашигладаг хэвээр байна. Bitcoin-ийн дэмжлэгтэй ERC20-ийг Ethereum дээр гаргахын тулд хэрэглэгчид хадгаламжаа баталгаажуулсан SPV нотолгоог өгөх ёстой. Биткойны гүйлгээний хэмжээний асуудал нь хадгаламжийн системийг зүй бусаар ашиглах тодорхой аргыг заагаагүй ч гэсэн хэрэглэгч хүчин төгөлдөр БСТ гүйлгээ бүхий хадгаламжийг санхүүжүүлэх боломжтой бөгөөд зөвхөн тэдний гүйлгээ хэтэрхий том тул tBTC гэрээний хүрээнд баталгаажуулах боломжгүй юм. .

Энэ хамаарлыг арилгах тодорхой зам байхгүй байна; Хадгаламжийг баталгаажуулахын тулд SPV нотолгоотой байх ёстой. Аз болоход, Bitcoin гүйлгээний хэмжээ хязгаарлалт нь tBTC-ийг бүхэлд нь ажиллуулахаас урьдчилан сэргийлэхэд тийм ч хэцүү биш юм. нэг оролт, гаралттай энгийн зарцуулалт нь Ethereum-ийн одоогийн хийн хязгаарын хязгаарт багтах болно. Хэрэглэгчид энэхүү хязгаарлалтын талаар хангалттай мэдлэгтэй байхын тулд хүчин чармайлт гаргаж байгаа л бол хадгаламжийн эх үүсвэрийг санхүүжүүлэхэд Bitcoin гүйлгээний хэмжээ чухал асуудал үүсгэх ёсгүй.

TBTC (болон бусад гинжин хэлхээний төслүүд) өөрсдийн системийг зөв ажиллуулахын тулд юу хийж чадах вэ?

Хоёр гинжин хэлхээний анхдагч зүйлийг ойлгоорой. Ethereum-ийг ашиглахдаа EVM нь бусад гинжин хэлхээнүүдийн командын хуулбарыг хаана даван туулж байгааг ойлгоорой. Хөндлөн гинжний програмууд нь хоёр ертөнцийг холбодог бөгөөд тус бүр өөр өөрийн цаг хугацааны систем, дүрэм журам, нарийн готчатай байдаг.

  • Гүйцэтгэлийн жишиг нь системийг хэмжиж болох суурь түвшинг бий болгоно. Жишээлбэл, Биткойны гүйлгээний хэмжээтэй холбоотой асуудлыг хэлэлцсэний дараа Дипломын ажил нь тэдний SPV нотолгоонд илүү нарийвчлалтай хязгаарлалт хийх зорилгоор зарим үндсэн жишиг үнэлгээг хийсэн.

Нэгжийн шинжилгээ хэзээ ч хангалтгүй болно. Хөндлөн гинжин хэлхээ нь системийн бүх төгсгөлд хөдөлгөөнт хэсгүүдтэй байдаг. Эдгээр хэсгүүдийг хооронд нь уялдуулахын тулд хөгжүүлэгчид энгийн нэгж туршилтаас хэтрэх хэрэгтэй.

  • Интеграцийн туршилт нь тусгаарлагдсан бүрэлдэхүүн хэсгүүдийн хоорондын харилцан үйлчлэлийн зөрчлийг илчлэхэд тусалж, дэлхийн бодит нөхцөлд системийн загварыг бий болгоно.

Хамгийн муу зүйлд бэлтгэ. Маш нарийн төвөгтэй байдал нь асар их хариуцлагыг хүлээдэг. Гарахаас өмнө гарч болзошгүй бүх асуудлыг тодорхойлох нь бодит биш юм.

  • Онцгой байдлын төлөвлөгөө: Асуудлуудад хурдан хариу арга хэмжээ авах төлөвлөгөөтэй байх нь ноцтой асуудлуудын нөлөөллийг бүдгэрүүлдэг. Ажил эхлэхээс өмнө гэнэтийн төлөвлөгөө гаргах нь ажил шаардагдах боловч бэлтгэлгүй байснаас хамаагүй дээр юм.

Эцэст нь хэрэглэгчиддээ боловсрол олгох хэрэгтэй. Хаана буруу зүйл болж болохыг ойлгох нь тулааны нэг хэсэг юм; дараагийн алхам бол хэрэглэгчид таны ойлголтыг хуваалцахыг баталгаажуулах явдал юм. Үүний тулд Төгсөлтийн ажлын Матт Луонго саяхан tBTC-ийн аюулгүй байдлын загвар, засаглалыг дүрсэлсэн урт сэдэв нийтлэв.

2020 оны 5-р сарын 16-ны өдрийн шинэчлэлт: Энэ нийтлэл нь анх байт тутамд 68 байт хийн үнийг өгсөн бөгөөд үүнээс хойш шинэчлэгдсэн бөгөөд гэрчүүдийн мэдээллийг SPV нотолгооноос хасч болохыг дурдаагүй болно. James Prestwich,  Paul Vienhage нарт залруулга өгсөнд баярлалаа.

Report Page