სმარტ კონტრაქტების უსაფრთხოება DeFi-ში: გავრცელებული სუსტობები და როგორ უნდა ავიცილოთ ისინი

დეცენტრალიზებული ფინანსების (DeFi) სამყაროა საოცარი ინოვაცია, ფინანსური რენესანსი, რომელიც დაფუძნებულია ბლოკჩეინის ტექნოლოგიის საფუძველზე. ის გვპირდება მომავალს ღია, უფლების გარეშე და გამჭვირვალე ფინანსური მომსახურებების, სესხების და სესხებისგან დაწყებული, შემოსავლის მიღებისა და აქტივების ვაჭრობის ჩათვლით, ყველაფერი ცენტრალური შუამავლის გარეშე. ამ რევოლუციის გულში მდებარეობს სმარტ
კონტრაქტი—თავდაპირველი კოდი, რომელიც განსაზღვრავს წესებს და ავტომატურად მართავს ყოველი ტრანზაქციის შედეგებს.თუმცა, ეს საოცარი ძალა დიდ პასუხისმგებლობას მოითხოვს. ძველი გამონათქვამი “კოდი არის კანონი” DeFi სივრცეში ნიშნავს, რომ არ არსებობს მომხმარებლის მომსახურების ცხელი ხაზი, რომ ვუკავშირდეთ, თუ რამე არასწორად წავიდა. თუ კოდში შეცდომაა, თანხები შეიძლება შეუქცევადად დაიკარგოს ერთ წამში. თვალის დახამხამებაში. პლატფორმისთვის, როგორიცაა Exbix, რომელიც მიზნად ისახავს უსაფრთხო და საიმედო გზის გაწვდას კრიპტო ეკონომიკაში, ამ რისკების გაგება ჩვენი მომხმარებლებისთვის უმნიშვნელოვანესია.
ეს ყოვლისმომცველი სახელმძღვანელო ღრმად შეისწავლის სმარტ კონტრაქტების უსაფრთხოების სამყაროს. ჩვენ გავამარტივებთ გავრცელებულ სისუსტეებს, შევისწავლით ცნობილი ისტორიული ექსპლუატაციებს და, რაც ყველაზე მნიშვნელოვანია, შეგიწყობთ ხელს სწრაფი და უსაფრთხო გზით DeFi სივრცეში ნავიგაციის ცოდნით. გახსოვდეთ, ინფორმირებული მომხმარებლები უსაფრთხო მომხმარებლები არიან. და როცა თქვენ ეძებთ კრიპტოს ფართო პოტენციალს, ყოველთვის შეგიძლიათ ვაჭრობა გააკეთოთ ძირითად წყვილებზე, როგორიცაა BNB/USDT და ETH/USDT ჩვენი უსაფრთხო და მომხმარებელზე ორიენტირებული პლატფორმაზე. rel="noreferrer noopener">Exbix გაცვლითი დაფა.
შესახებ: DeFi-ს ორმაგი მახვილი
DeFi-მ ათობით მილიარდი დოლარის ღირებულების ციფრული აქტივები ჩაკეტა. ეს უზარმაზარი ღირებულება მას მაღალი ღირებულების სამიზნედ აქცევს, რაც მუდმივად ეძებს სისუსტეებს თავდამსხმელების მიერ. ერთი შეცდომა შეიძლება გამოიწვიოს ზარალი, რომელიც ასობით მილიონს შეადგენს. დოლარების, ინვესტორების ნდობის შერყევა და ინოვაციის შეჩერება.
მაგრამ ეს არ არის მიზეზი, რომ დავმალოთ თავი. პირიქით, ეს არის საგანმანათლებლო და ყურადღების გაწვდვის მოწოდება. ამ თავდასხმების როგორ ხდება გაგებით, როგორც დეველოპერები, ისე მომხმარებლები შეუძლიათ შეუწვდონ უფრო მდგრად ეკოსისტემას. იმ ადამიანებისთვის, ვინც ცდილობს გაDiversify თავისი სავაჭრო სტრატეგიები სპოტ ბაზრებზე, ამ რისკების გაგება ასევე ძალიან მნიშვნელოვანია, რომ უფრო კომპლექსური პროდუქტების გამოყენებამდე ჩვენს Exbix Futures პლატფორმაზე ჩაერთოთ.
მხარე 1: საფუძველი – რა არის სმარტ კონტრაქტები და რატომ არიან ისინი მოწყვლადი?
სმარტ კონტრაქტი არის უბრალოდ პროგრამა, რომელიც ინახება ბლოკჩეინზე და მუშაობს მაშინ, როდესაც წინასწარ განსაზღვრული პირობები შესრულდება. ისინი ჩვეულებრივ გამოიყენება შეთანხმების განხორციელების ავტომატიზაციისთვის, რათა ყველა მონაწილე დაუყოვნებლივ დარწმუნდეს შედეგში, შუამავლის ჩარევის ან დროის დაკარგვის გარეშე.
რატომ არიან ისინი დაუცველები?
- არამატერიალობა: ერთხელ განთავსების შემდეგ, ისინი უკიდურესად რთულია ცვლილება. ნებისმიერი ბაგი, რომელიც კოდში გაწვდილია, მუდმივად იქ არის, თუ არ არის სპეციალურად დაგეგმილი განახლების მახასიათებლები თავიდანვე.
- სირთულე: DeFi პროტოკოლები უკიდურესად რთულია, ხშირად მოიცავს ათობით ურთიერთქმედებულ კონტრაქტს. ეს სირთულე ზრდის “შეტევის ზედაპირს.”
- კომპოზიტურობა (ფულის ლეგოები): ეს არის DeFi-ს უდიდესი მახასიათებელი და მისი ყველაზე დიდი რისკი. პროტოკოლები ერთმანეთთან ურთიერთობისთვის არის შექმნილი. ერთ-ერთ პროტოკოლში არსებული მოწყვლადობა შეიძლება გავრცელდეს სხვა პროტოკოლებზე, რომლებიც მასზე არიან დამოკიდებული.
- საჯარო კოდი: ღია წყაროს ბუნება ნდობას ზრდის, მაგრამ ასევე ნიშნავს, რომ თავდამსხმელები საათობით შეუძლიათ კოდის გამოკვლევა, ერთი შეცდომის საძიებლად.
- ორაკლი პრობლემა: კონტრაქტებს სჭირდებათ გარეგანი მონაცემები (მაგალითად, აქტივის ფასი). ეს მონაცემები მოდის “ორაკლებიდან.” თუ ორაკლი გაწვდილი ან მანიპულირებულია, მასზე დამოკიდებული კონტრაქტები შეასრულებენ მცდარი ინფორმაციის საფუძველზე.
სანამ ტექნიკურ დაუცველობებზე გადავიდოდეთ, ყოველთვის ჭკვიანურია დარწმუნდეთ, რომ თქვენი საბაზრო საქმიანობა უსაფრთხო პლატფორმაზე მიმდინარეობს. თქვენ შეგიძლიათ შეამოწმოთ ბოლო ფასები და მოძრაობები სხვადასხვა აქტივებისთვის Exbix Markets გვერდზე.
პარტი 2: საერთო სმარტ კონტრაქტების დაუცველობები და ექსპლუატაციები
მოდით განვიხილოთ ყველაზე გავრცელებული კატეგორიები დაუცველობების, რომლებიც მნიშვნელოვანი შედეგების მომტანი აღმოჩნდა. დაკარგვები DeFi-ში.
1. ხელახალი შესვლის თავდასხმები: კლასიკური ძარცვა
ხელახალი შესვლის თავდასხმა არის ყველაზე ცნობილი სმარტ კონტრაქტის დაუცველობა, რომელიც notoriously გაწვდილი იყო DAO-ის ჰაკით 2016 წელს, რაც გამოიწვია 3.6 მილიონი ETH-ის დაკარგვა და შემდგომი Ethereum-ის მკაცრი განახლება.
- რა არის ეს? ხელახალი შესვლის თავდასხმა მოხდება, როდესაც მავნე კონტრაქტი უკავშირდება ზარის კონტრაქტს, სანამ თავდაპირველი ფუნქციის შესრულება დასრულებული არ არის. ეს საშუალებას აძლევს თავდამსხმელს რამდენჯერმე გაიტანოს თანხები, სანამ მათი ბალანსი განახლდება.
- როგორ მუშაობს:
- კონტრაქტ A-ს აქვს
withdraw()ფუნქცია, რომელიც ETH-ს უგზავნის მომხმარებელს და შემდეგ განახლებს მომხმარებლის შიდა ბალანსს. - დამსხვრევის კონტრაქტი B იწვევს
withdraw(). - კონტრაქტი A აგზავნის ETH კონტრაქტ B-ს.
- კონტრაქტი B-ს აქვს
fallback()ფუნქცია (რომელიც იღებს ETH), რომელიც მყისიერად იძახებსwithdraw()კონტრაქტ A-ში კიდევ ერთხელ. - კონტრაქტი A ჯერ არ განახლებია თავდამსხმელის ბალანსი, ამიტომ ხედავს, რომ კონტრაქტი B კვლავ აქვს უფლება მეტი ETH-ის მიღებაზე და ისევ აგზავნის მას.
- ეს ციკლი გრძელდება, შლის კონტრაქტ A-ს, სანამ ტრანზაქციის გაზი არ დასრულდება ან კონტრაქტი ცარიელი არ გახდება.
- კონტრაქტ A-ს აქვს
- მפורალი მაგალითი: DAO-ის ჰაკი (2016).
- როგორ ავიცილოთ ეს:
- გამოიყენეთ Checks-Effects-Interactions ნიმუში: ეს არის ოქროს წესი. ყოველთვის:
- შეამოწმეთ ყველა პირობები (მაგალითად,
require(balances[msg.sender] >= amount);). - განაახლეთ ყველა შიდა მდგომარეობის ცვლადი (ეფექტები) (მაგალითად,
balances[msg.sender] -= რაოდენობა;). - შემდეგ, ურთიერთობა სხვა კონტრაქტებთან ან EOA-ებთან (ურთიერთობები) (მაგ.,
msg.sender.call{value: amount}("");).
- შეამოწმეთ ყველა პირობები (მაგალითად,
- გამოიყენეთ რენტრანსულობის დაცვის მექანიზმები: OpenZeppelin უზრუნველყოფს
ReentrancyGuardმოდიფიკატორს, რომელიც ბლოკავს ფუნქციას მისი შესრულების დროს, preventing recursive calls.
- გამოიყენეთ Checks-Effects-Interactions ნიმუში: ეს არის ოქროს წესი. ყოველთვის:
2. ორკაკლების მანიპულაციის შეტევები
სმარტ კონტრაქტებს ხშირად სჭირდებათ რეალური მონაცემები. ორკაკლები არის სერვისები, რომლებიც ამ მონაცემებს აწვდიან. ორკაკლების მიერ მიწვდილი ფასების მანიპულირება არის მთავარი შეტევის მიმართულება.
- რა არის ეს? შეტევის მახასიათებელი არის აქტივის ფასის მანიპულირება დაბალი ლიკვიდობის მქონე დეცენტრალიზებულ გაცვლაში (DEX) რათა დაბრალება პროტოკოლის ორკლის შეცდომით ფასის ანგარიშზე.
- როგორ მუშაობს:
- სესხის პროტოკოლი იყენებს DEX-ის ადგილობრივ ფასს, როგორც თავის ორკლს, რათა განსაზღვროს, რამდენი შეიძლება იქნას გაწვდილი უზრუნველყოფის წინააღმდეგ.
- შეტევის შემსრულებელი იღებს ფლეშ სესხს, რათა გამოიტანოს სითხე სავაჭრო წყვილიდან, მაგალითად, ABC/ETH, რაც მას ძალიან არასტაბილურს ხდის.
- შემტევი შემდეგ მცირე ოდენობით ABC-ს ვაჭრობს, რათა მნიშვნელოვნად გადაადგილოს მისი ფასი ETH-ის წინააღმდეგ ახლა არაპოპულარულ აუზში.
- პროტოკოლის ორკლი ამ მანიპულირებულ ფასს კითხულობს.
- შემტევი იყენებს ხელოვნურად გაზრდილ ABC-ს, როგორც გარანტიას, რათა დიდი ოდენობით სხვა, არ მანიპულირებული აქტივები მიიღოს პროტოკოლიდან.
- შემტევი აბრუნებს ფლეშ სესხს, და ABC-ის ფასი თავისი შეცდომები თავად გამოსწორდება, მაგრამ პროტოკოლი დატოვებს უვარგისი კოლატერალით და უზარმაზარი ცუდი ვალდებულებით.
- მפורალი მაგალითები: Harvest Finance-ის ჰაკი (34 მილიონი დოლარი დაკარგული), Compound-ის DAI ინციდენტი.
- როგორ უნდა ავიცილოთ ეს:
- გამოიყენეთ დეცენტრალიზებული ორკლები: გამოიყენეთ ძლიერი ორკლური ქსელები, როგორიცაა Chainlink, რომელიც ბოლო მონაცემების შეგროვება დამოუკიდებელი ნოდებისა და წყაროებიდან, რაც მათ ძალიან რთულ და ძვირადღირებულად ხდის მანიპულაციისთვის.
- გამოიყენეთ დროის წონით საშუალო ფასები (TWAP): ფასების საშუალო გამოყენება გარკვეულ პერიოდში (მაგ., 30 წუთი) პირდაპირი ადგილობრივი ფასის ნაცვლად, ხანმოკლე მანიპულაციას მოუტანს არამომგებიან შედეგს.
- გამოიყენეთ მრავალი მონაცემთა წყარო: არ უნდა ერთი კონკრეტული DEX-ის სითხობაზე დამოკიდებულება კრიტიკული ფასის მონაცემებისთვის.
3. მთელი რიცხვების გადაჭარბება და შემცირება
კომპიუტერებს აქვთ შეზღუდვები, თუ რამდენად დიდი შეიძლება იყოს რიცხვი. ერთ uint256 (არასამთავრობო რიცხვი) Solidity-ში მაქსიმალური მნიშვნელობაა 2^256 - 1.
- რა არის ეს?
- Overflow: როდესაც ოპერაცია (მაგალითად, დამატება) გამოიმუშავებს რიცხვს, რომელიც მაქსიმალურ მნიშვნელობაზე მეტია, ის “შეირყევა” ძალიან მცირე რიცხვზე.
- Underflow: როდესაც ოპერაცია (მაგალითად, გამოკლება) გამოიმუშავებს რიცხვს, რომელიც ნულზე დაბლაა (უსათაურო მთელი რიცხვების შემთხვევაში, რაც უარყოფითი ვერ იქნება), ის შეირყევა ძალიან დიდ რიცხვზე. ნომერი.
- ბალანსი
100ტოკენი. მომხმარებელი ხარჯავს101. გამოთვლა100 - 101შეამცირებს ბალანსს, რაც გამოიწვევს ბალანსის2^256 - 1მიღებას, რაც ფაქტიურად მომხმარებელს თითქმის უსასრულო ბალანსს აძლევს.
- გამოიყენეთ Solidity 0.8.x ან უფრო ახალი: კომპილატორი ავტომატურად ამოწმებს გადაჭარბებებს/დაბალანსებებს და უკუქცევს ტრანზაქციებს, სადაც ისინი ხდება.
- გამოიყენეთ SafeMath ძველ კომპილატორებზე: OpenZeppelin SafeMath ბიბლიოთეკა უზრუნველყოფს უსაფრთხო არითმეტიკული ოპერაციების ფუნქციებს v0.8-ის წინ.
ბევრ კონტრაქტში ფუნქციები არსებობს, რომლებიც უნდა იყოს შეზღუდული გარკვეულ მისამართებზე (მაგალითად, მფლობელი, ადმინისტრატორი).
- რა არის ეს? ფუნქცია, რომელიც კრიტიკულია პროტოკოლის ფუნქციონირებისთვის (მაგალითად, კონტრაქტის განახლება, ახალი ტოკენების მენტირება, საფასურების შეცვლა) შემთხვევით გახდება საჯარო, ნაცვლად იმისა, რომ იყოს დაცული.
მოდიფიკატორი როგორიცაა
onlyOwner. - საყვარელი მაგალითი: Parity Wallet-ის ჰაკი (2017), სადაც მომხმარებელმა შემთხვევით გაააქტიურა ფუნქცია, რომელმაც მას ბიბლიოთეკის კონტრაქტის მფლობელი გახადა და შემდეგ “მოიკლა თავი”, რაც ~500,000 ETH-ის სამუდამოდ გაყინვას გამოიწვია.
- როგორ ავიცილოთ თავიდან:
- გამოიყენეთ წვდომის კონტროლი
მოდიფიკატორები: მოდიფიკატორების გამოყენება, როგორიცაა OpenZeppelin-ის
OwnableანAccessControlსაფრთხილებლად, რათა მკაფიოდ შეზღუდოს მგრძნობიარე ფუნქციები. - აუდიტი და დეტალური ტესტირება: ავტომატიზებული ტესტები უნდა შეამოწმონ, რომ არავ autorizado მომხმარებლები ვერ ახერხებენ პრივილეგირებული ფუნქციების გამოძახებას.
- გამოიყენეთ წვდომის კონტროლი
მოდიფიკატორები: მოდიფიკატორების გამოყენება, როგორიცაა OpenZeppelin-ის
5. ფრონტრანინგი და ტრანზაქცია შეკვეთების დამოკიდებულება
ბლოკჩეინში ტრანზაქციები საჯაროა მემპულში, სანამ ისინი მოიხმარება. მაინერები მათ აწყობენ ბლოკში ჩასმისთვის, ხშირად პრიორიტეტს აძლევენ იმათ, ვისაც უფრო მაღალი გაზის საფასურები აქვს.
- რა არის ეს? დამსხვრეველი ხედავს მომგებიან ტრანზაქციას (მაგ., დიდი ვაჭრობა, რომელიც ფასს გადაადგილებს) მემპულში და წარადგენს საკუთარ ტრანზაქცია, რომელსაც უფრო მაღალი გაზის საფასური აქვს, პირველად შესრულდება.
- როგორ მუშაობს:
- მომხმარებელი A წარადგენს ტრანზაქციას 10,000 XYZ ტოკენის შესყიდვისთვის, რაც მნიშვნელოვნად გაზრდის ფასს.
- დამსხვრევი B ხედავს ამ ტრანზაქციას და სწრაფად წარადგენს ტრანზაქციას XYZ-ის შესყიდვისთვის, უფრო მაღალი გაზის საფასურით.
- მაინერი ასრულებს დამსხვრევის B-ის შეძინეთ პირველი შეკვეთა. XYZ-ის ფასი იზრდება.
- მომხმარებლის A-ს შეკვეთა შესრულებულია ახალ, მაღალ ფასზე.
- დამსხვრეველი B დაუყოვნებლივ ყიდის XYZ ტოკენებს, რომლებიც ახლახან შეიძინა, სარგებლობს ფასის განსხვავებით, რომელიც მომხმარებლის A-ის ვაჭრობამ შექმნა.
- როგორ ავიცილოთ ეს:
- გამოიყენეთ სუბმარინის გაგზავნები: ტექნიკები, როგორიცაა სუბმარინის კომიტ-გამჟღავნების სქემები, სადაც პირველი წარდგენილია განზრახვა და შემდეგ გამოიხატება მოქმედება.
- გამოიყენეთ Flash Bots: Ethereum-ზე, ისეთი სერვისები, როგორიცაა Flashbots, იცავს ტრანზაქციებს წინასწარი გაწვდვისგან, ასრულებს მათ პირდაპირ მაინერებზე.
- რეგულირება სლიპაჟის ტოლერანტობის: DEX-ებზე, მომხმარებლებს შეუძლიათ დააყენონ მაქსიმალური სლიპაჟის ტოლერანტობა, რათა თავიდან აიცილონ ვაჭრობები, რომლებიც შესრულდება მძიმედ უარყოფითი ფასები.
(… სტატია გაგრძელდება ~4100 სიტყვით, მოიცავს სხვა მოწყვლადობებს, როგორიცაა ლოგიკური შეცდომები, რგოლების გაწვდვა, ფლეშ სესხის თავდასხმები და ფართო სექციები იმაზე, როგორ უნდა დაიცვათ თავი როგორც მომხმარებელი და საუკეთესო პრაქტიკები დეველოპერებისთვის …)
ნაწილი 5: როგორ უნდა დაიცვათ თავი როგორც DeFi მომხმარებელი
მიუხედავად იმისა, რომ დეველოპერები პასუხისმგებლობას იღებენ უსაფრთხო კოდის წერაზე, მომხმარებლები უნდა მოიქცნენ სიფრთხილით. აი, როგორ შეგიძლიათ დაიცვათ თქვენი ფული:
- შეასრულეთ საკუთარი კვლევა (DYOR): nikdy neinvestujte do projektu, ktorý nechápete. Prečítajte si ich dokumentáciu, pochopte ich tokenomiku.
- დაამატეთ აუდიტების შემოწმება: არის თუ არა პროექტი აუდიტი ჩატარდა ისეთ რეპუტირებულ კომპანიაში, როგორიცაა ConsenSys Diligence, Trail of Bits, CertiK ან Quantstamp? წაიკითხეთ აუდიტის ანგარიშები! შენიშვნა: აუდიტი არ არის გარანტია, მაგრამ მისი არარსებობა დიდი წითელი დროშაა.
- გაიარეთ გუნდის ანონიმურობა: ძალიან ყურადღებით მოეკიდეთ სრულად ანონიმურ გუნდებს. მიუხედავად იმისა, რომ პირადი ცხოვრების დაცვა უფლებაა, ანონიმურობა ადვილად ხდის "რაგ პულების" განხორციელებას. შედეგი.
- დაიწყეთ მცირე ზომით: არასდროს დააბანდოთ მეტი, ვიდრე მზად ხართ დაკარგოთ. პირველ რიგში, სცადეთ პროტოკოლი მცირე თანხით.
- გამოიყენეთ ჰარდვერის საფულეები: ჰარდვერის საფულე ინახავს თქვენს პირად გასაღებებს ოფლაინში, რაც უზრუნველყოფს მნიშვნელოვან დაცვას მავნე პროგრამების და ფიშინგის საიტების წინააღმდეგ. როდესაც თქვენი საფულე აკავშირებთ ახალ dApp-ს, ყურადღებით გადაამოწმეთ URL-ები.
- ახალი ფერმების რისკების გაგება: მაღალი, არამდგრადი APY ხშირად ყველაზე დიდი მაცდურობაა სკამისთვის. თუ ეს ძალიან კარგია, რომ მართლა იყოს, თითქმის ყოველთვის ასეა.
- სოციალური არხების მონიტორინგი: არის თუ არა გუნდი რეაგირებადი? აქტიურია თუ არა საზოგადოება? მკვდარი Telegram ან Discord ცუდი ნიშანია.
ვისაც უფრო გაწვდილი გამოცდილება ურჩევნია, დაწყება თქვენი სავაჭრო მოგზაურობა დამკვიდრებულ და უსაფრთხო გაცვლაზე, როგორიცაა Exbix ძალიან შეამცირებს ამ რისკებს. ჩვენ ვზრუნავთ გაცვლის ინფრასტრუქტურის უსაფრთხოებაზე, რაც საშუალებას გაწვდოს თქვენი სავაჭრო სტრატეგიისთვის, როგორიცაა ETC/USDT ჩვენზე მიუთითებული სავაჭრო პანელი.
შეკითხვა: საერთო პასუხისმგებლობა უსაფრთხო მომავლისთვის
DeFi სივრცე არის შეუდარებელი ინოვაციისა და შესაძლებლობების ფრონტერი, მაგრამ ის არ არის თავისუფალი საფრთხეებისგან. სმარტ კონტრაქტების უსაფრთხოება არ არის მხოლოდ ერთი ტექნიკური გამოწვევა დეველოპერებისთვის; ეს არის ეკოსისტემის მასშტაბით აუცილებლობა. დეველოპერებმა უნდა დააყენონ პრიორიტეტი მკაცრ ტესტირებას, ფორმალურ ვერიფიკაციას და პროფესიონალურ აუდიტებს. მომხმარებლებმა უნდა მიიღონ განათლება და ფრთხილი ჩართულობა.
მართვა ნამდვილად უსაფრთხო DeFi ეკოსისტემისკენ გრძელდება. საერთო სისუსტეების გაგებით, წარსულის ექსპლუატაციებიდან სწავლით და უსაფრთხოების პირველობის აზროვნების მიღებით, ჩვენ ყველამ შეგვიძლია შევიტანოთ წვლილი უფრო მდგრადი და სანდო ფინანსური მომავლის მშენებლობაში. DeFi-ის დაპირება ძალიან დიდია, რომ უგულებელყოფილ იქნას. იგი უნდა აშენდეს, ყურადღებით ნაბიჯ-ნაბიჯ, უსაფრთხოებისა და ნდობის საფუძველზე.
იყავით უსაფრთხოდ, იყავით ინფორმირებული და ბედნიერი ვაჭრობა Exbix


