AELF - Dự Án Đầy Tiềm Năng. Đã Listed trên Binance, Houbi, Bitfinex và nhiều sàn lớn.

Lưu Ý: Các bạn hiện có thể tham gia làm nhiệm vụ hàng ngày trên Candybox và nhận ELF tokens thưởng mỗi ngày. Các bạn nhớ đăng ký TẠI ĐÂY!


aelf —  Linux của Blockchain

0*6eKpr37B2bwrh60u.

Tạo ứng dụng Blockchain của riêng bạn  — Dễ dàng tùy biến và mở rộng

Bạn đã bao giờ sử dụng một chương trình trên máy tính và ước gì có thể thêm một tính năng hoặc một phím tắt chính xác theo cách mình muốn? Hoặc có thể nơi làm việc/công ty của bạn có một dịch vụ phù hợp với hầu hết nhu cầu của bạn, nhưng rõ ràng nó lại không được thiết kế dành riêng cho bạn?

Tôi biết tôi đã thất vọng nhiều lần trong mọi lĩnh vực mà tôi từng làm việc. Tôi thường muốn có các dịch vụ và sản phẩm phù hợp với nhu cầu của mình, nhưng chúng ta buộc phải sử dụng một dịch vụ được thiết kế từ góc độ dành cho khách hàng nhưng lại không phải cho một cá nhân. Một ai đó thiết kế cho doanh nghiệp của một người khác, nhưng lại cho khách hàng của một người khác nữa và bạn được phép "sử dụng" nó. Cho dù doanh nghiệp của bạn có giống người dùng mục tiêu ban đầu như thế nào thì nó sẽ vẫn không bao giờ hoàn toàn phù hợp.

Kịch bản ở trên là một vấn đề lớn trong các ứng dụng blockchain. Hiện tại, bạn có thể sử dụng ứng dụng được phát triển cho người khác hoặc với tư cách là nhà phát triển, bạn có thể viết dApp của riêng mình. Nhưng ứng dụng này sẽ chạy trên một blockchain mà thôi, cùng với nhiều dApp khác cũng được thiết kế cho các mục đích tương tự. Blockchain này tốt cho tất cả, nhưng lại không hoàn hảo cho riêng ai. Nó bị nghẽn, làm chậm các giao dịch và hạn chế tốc độ tổng thể của tất cả dApp trên hệ thống. Đại lộ công cộng của vô số dApp sẽ sớm trở thành một con phố cổ thu thập dữ liệu đại chúng của các dApp không được tuỳ chỉnh và vì thế, tắc nghẽn.

Và rồi tôi tìm thấy aelf. Loại hình đột phá lần đầu xuất hiện.

aelf giải quyết nhiều vấn đề với công nghệ blockchain hiện tại. Đó là rào cản tùy chỉnh và khả năng mở rộng mà tôi vừa mô tả. Ok, vậy nhưng bằng cách nào?

aelf tạo ra một hệ thống blockchain chạy như một main chain (chuỗi chính) giống như hệ điều hành trên máy tính. Nhưng thay vì nhiều ứng dụng chạy trên một main chain, với tư cách là nhà phát triển hoặc doanh nghiệp, bạn có thể thiết kế dApp của riêng bạn và chạy nó trên blockchain riêng của nó, dưới dạng side chain (chuỗi phụ) bên cạnh main chain. Bạn có thể sở hữu một blockchain được thiết kế hoàn toàn dành riêng cho mục đích của mình, bạn chọn mức độ công khai hoặc riêng tư, bạn chọn giao thức đồng thuận nó sẽ chạy, thậm chí bạn chọn cách cập nhật nó. Vì nó là dApp duy nhất chạy trên side chain cụ thể, bạn có thể cập nhật nó bất cứ lúc nào bạn cần và có quyền kiểm soát tuyệt đối trên toàn bộ hệ thống.

0*ccnqvRXd34Zwz_od.

Thông qua việc sử dụng các side chain, việc thiết lập Hợp đồng Thông minh cho một dApp cụ thể sẽ được bảo vệ khỏi những can thiệp lẫn nhau không cần thiết. Mỗi side chain hoàn toàn độc lập và mặc dù chúng có thể tương tác với các ứng dụng khác, blockchain sẽ chỉ cần tập trung vào một loại Hợp đồng Thông minh.

Nhưng kể từ đây, nó mới thể hiện sự vượt trội. Giả sử bạn đang tạo một ứng dụng cho phép người dùng chia sẻ hình ảnh trực tuyến. Họ có thể phân loại, liên kết chúng với nhau và tạo ra một danh mục. Rồi một ngày bạn tìm thấy một dApp khác đang chạy một nền tảng truyền thông xã hội tương tự như twitter. Nếu cả hai dApps này chạy trên một main chain của aelf thì main chain này sẽ làm trung gian hòa nhập giữa hai side chain để cho phép chúng tương tác. Khi một trong những người dùng của bạn tải ảnh mới vào danh mục của họ, hệ thống sẽ tự động chia sẻ ảnh đó qua twitter như dApp. Nhưng đây mới là phần hay nhất. Họ thậm chí không cần cả hai chạy trên main chain. Hơn thế nữa, aelf main chain có thể kết hợp bất kỳ blockchain nào.

Main chain chạy DPoS sẽ có các nút khai thác được ủy quyền có khả năng bảo vệ toàn bộ hệ thống cũng như đảm bảo mỗi side chain nằm dưới sự bảo đảm an ninh của chúng. Do mô hình đồng thuận này được chạy trên main chainh, mỗi side chain bổ sung không chỉ hưởng lợi từ main chain mà bù lại, chúng sẽ làm tăng hiệu quả của các nút được ủy quyền bảo mật cho main chain.

Từ bỏ phương pháp Một-Chuỗi-Phù-Hợp-Cho-Tất-Cả, aelf đã tìm cách phát triển một cuộc cách mạng nhằm chạy các ứng dụng dApp trên blockchain. Bằng cách tạo ra một main chain công cộng có thể chạy side chain, aelf tạo ra giải pháp hoàn hảo cho nền tảng ứng dụng có thể tùy chỉnh, mở rộng và hoàn toàn thích hợp cho tất cả các lĩnh vực và người dùng.
 

haoanhhungxt

Newbie
Joined
Jun 3, 2012
Messages
1
Reactions
0
MR
0.001

shibob

Junior
Joined
Dec 7, 2017
Messages
206
Reactions
133
MR
0.001
Mời các bạn theo dõi báo cáo cập nhật 2 tuần từ ngày 03 tới 16 Tháng Chín của dự án aelf:

https://medium.com/aelfblockchain/aelf-progress-report-sept-3rd-sept-16th-106e0dfc3a93

NGOÀI RA:

aelf mới ra sự kiện mới vào tối qua trên instagram. Anh em nhớ tham gia nhé.

Để tham gia, đơn giản là anh em chỉ cần truy cập tới trang instagram của aelf (@aelfblockchain), và viết các caption thật thú vị, pool giải thưởng sẽ tăng thêm 1. Dự án sẽ đếm từ 443 follows trên trang instagram.

Dự án mong đợi pool thưởng sẽ ngày càng tăng lên. Hãy xem chúng ta có thể đẩy pool thưởng đến mức bao nhiêu nhé ae.

LINK tới Sự Kiện (FB): https://www.facebook.com/events/303161190468031/
TWEET cho Sự Kiện: https://twitter.com/aelfblockchain/status/1042747534379237377
Trang INSTAGRAM: https://www.instagram.com/aelfblockchain/
 
Thân gửi các bạn cộng đồng aelf Việt Nam,

Chúng ta sẽ có 2 sự kiện trivia quiz hàng tuần được tổ chức tại nhóm telegram aelf Việt Nam: @aelf_vietnam

Trivia Quiz sẽ có 10 câu hỏi với các chủ đề khá đa dạng về: aelf, về Việt Nam, sự kiện, tiền số mã hóa, blockchain…

Ở mỗi câu hỏi, thành viên nào có câu trả lời đúng và nhanh nhất sẽ nhận được like (thum-up của admin, like này được quy ra điểm để làm nhiệm vụ trên candybox).

Ngoài ra, sẽ có giải thưởng ĐẶC BIỆT dành cho 1 trong 10 người chiến thắng, chọn ngẫu nhiên để nhận thú cưng aelfie, thú cưng như trong hình bên dưới.

Thời gian tổ chức Trivia Quiz của mỗi tuần: 20h30 tối thứ Ba và tối thứ Sáu hàng tuần.

Thành viên tích cực nhất trong tuần cũng có cơ hội nhận được 1 thú bông.

Nhóm aelf Việt Nam:
Facebook aelf VN: https://www.facebook.com/aelfvietnam/
Telegram aelf Việt Nam: @aelf_vietnam

Chúc các bạn may mắn!


FMTkYWh.png
 
Nhật ký Dev: Vấn đề của của bộ nhớ

1*bBusYLB5ZA62LtB2qgubhg.jpeg

Thông tin cơ bản:

Trong giai đoạn thử nghiệm node đơn AElf, những người thử nghiệm nhận thấy node đột nhiên chuyển sang chế độ ngoại tuyến. Sau khi kiểm tra nhật ký, người ta tìm thấy Worker (quá trình thực hiện giao dịch) đều bị loại bỏ và việc thực hiện các giao dịch bị tạm dừng, làm cho node bị hỏng.

Dự đoán sơ bộ:

Vấn đề này là rất lạ, bởi vì các node và tất cả các Worker đang ở trên cùng một máy chủ, việc giao tiếp trong mạng lưới không phải là vấn đề. Chẩn đoán khác tiết lộ rằng node chính, tất cả các Worker và Lighthouse biến thành ngoại tuyến cùng một lúc. Chúng tôi tiếp tục khắc phục sự cố và phát hiện những vấn đề thông qua zabbix - RAM của máy chủ gần đạt đến năng suất hoạt động tối đa của nó tại một thời điểm. Nhìn vào dấu chỉ thời gian, nó trùng với khi mà node bị trục trặc.

Kiểm nghiệm lại vấn đề:

Chúng tôi tập trung vào việc kiểm tra việc sử dụng bộ nhớ. Kiểm tra cho thấy rằng khi node chạy trong một thời gian dài, quá trình này liên tục chiếm bộ nhớ của máy chủ. Việc sử dụng bộ nhớ tăng lên đáng kể đặc biệt là sau khi số lượng lớn các giao dịch được gửi đi và bộ nhớ không được giải phóng ngay cả sau khi các giao dịch bị ngừng.

Cách chúng tôi sao chép lại vấn đề:

Trước tiên tôi cần giới thiệu về môi trường dịch vụ, chúng tôi sử dụng Ubuntu 16.04.5 LTS, phiên bản cốt lõi dotnet là 2.1.402

Khi node đang chạy một mình: mức sử dụng bộ nhớ là khoảng 90M.

1*dn130Y8TssBJ8ujhXwPwGg.png


Sau đó, bằng cách liên tục gửi một số lượng lớn các giao dịch đến node, chúng tôi có thể giám sát nhóm giao dịch node khi nó tích lũy và thực hiện các giao dịch. Điều này có thể được quan sát từ hình ảnh dưới đây.

1*voI7gdiq3nLIN75ddG6juQ.png


Sau một thời gian theo dõi hệ thống, mức sử dụng bộ nhớ đã đạt đến 1G.

1*Tkms9IEEOzKL1CPoqcSTYQ.png


Tại thời điểm này, các giao dịch đã ngừng hoạt động. Như đã thấy dưới đây tất cả các giao dịch có trong nhóm giao dịch đã được thực hiện.

1*JnxFsCnnQ382Ionf1k7TlA.png


Chúng tôi tiếp tục quan sát trọng khối bộ nhớ, và sau một thời gian chúng tôi thấy rằng việc sử dụng bộ nhớ không giảm, và duy trì mức sử dụng 1G.

Phân tích vấn đề:

Tiếp theo chúng tôi sử dụng lldb để phân tích các node.
Điều này được thực hiện bằng cách cài đặt lldb đầu tiên trên máy chủ.

Sudo apt-get install lldb

Tìm vị trí ibsosplugin.so cục bộ

Find /usr -name libsosplugin.so

Khởi động lldb và đính kèm nó vào quy trình

Sudo lldb –p 13067

Tải libsosplugin.so

Plugin load /usr/share/dotnet/shared/Microsoft.NETCore.App/2.1.4/libsosplugin.so
Setclrpath /usr/share/dotnet/shared/Microsoft.NETCore.App/2.1.4/


Phân tích đối tượng tiếp theo

Dumpheap –stat

1*SiwCkNJectUji4MTI_BArw.png


Chúng ta có thể thấy rằng có một số lượng lớn các đối tượng sau:

AElf.Kernel.TransactionHolder
System.String
AElf.Common.Address
System.Collections.Concurrent.ConcurrentDictionary`2 + Node [[AElf.Common.Hash, A Elf.Common], [AElf.Kernel.TransactionHolder, AElf.Kernel.TxHub]]
AElf.Kernel.Transaction
AElf.Common.Hash
Google.Protobuf.ByteString
System.Byte []


Hãy xem các đối tượng lớn hơn 1024 byte.

1*oMcNxrNczRfzf5LMJrE1-A.png


Chúng ta có thể thấy có 4 đối tượng cùng loại tương đối lớn

System.Collections.Concurrent.ConcurrentDictionary`2 + Node [[AElf.Common.Hash, AElf.Common], [AElf.Kernel.TransactionHolder, AElf.Kernel.TxHub]] []

Khi nhìn xa hơn vào các đối tượng tương ứng với MethodTable

1*P8L7xjTc3tZS5E6y58a16w.png


Bạn có thể thấy có 8 đối tượng, 4 trong số đó là lớn. Chọn một trong số chúng để xem thông tin và chúng tôi thấy rằng 573 437 giá trị được lưu trữ trong đó.

1*zZ1zn5qUVdU0hckA5Bu3KQ.png


Dựa trên các kết quả phân tích ở trên, chúng tôi kiểm tra mã nguồn tương ứng và xác định lớp: AElf.Kernel.TxHub. Vai trò chính của lớp này là lưu trữ dữ liệu giao dịch, nhóm giao dịch. Lớp này chứa 8 ConcurrentDictionary <Hash, TransactionHolder> để lưu trữ dữ liệu giao dịch, trong khi lớp TransactionHolder lưu trữ Hash, Transaction,... phù hợp với kết quả phân tích bộ nhớ trên. Nhìn lại logic bên trong, chúng tôi thấy rằng tất cả các giao dịch được lưu trữ trong TxHub sau khi chúng vào nhóm giao dịch và không được giải phóng nữa. Từ đó chúng tôi có thể xác định được cốt lõi của vấn đề.

Sau khi giải quyết vấn đề này, chúng tôi đã lặp lại các bước trên để xác minh. Rõ ràng là có hiệu quả. Sau khi giao dịch trong nhóm giao dịch đã thực hiện, việc sử dụng bộ nhớ giảm đáng kể. Kết quả cuối cùng cho việc sử dụng bộ nhớ như sau:

1*bBaK-F7WkY-HLGgFuDRtuQ.png


Sau đó, bằng cách xem xét nội dung của các đối tượng trong bộ nhớ, chúng ta có thể thấy rằng tổng số lượng đối tượng cũng đã giảm đi đáng kể.

1*mj92Ko_bvnmugcEfxXHuSw.png


Tuy nhiên, vẫn có sự gia tăng nhẹ trong bộ nhớ, và có những trường hợp các đối tượng dụng lượng lớn vẫn nằm trong bộ nhớ, và vấn đề này sẽ được phân tích thêm.


Tác giả: Xin Zhang
Biên soạn: Shibob

Để biết thêm thông tin, truy cập vào https://aelf.io/
và đọc thêm các bài viết bằng tiếng Việt về aelf tại: https://medium.com/@aelfvietnam
 

Announcements

Today's birthdays

Forum statistics

Threads
425,414
Messages
7,156,673
Members
177,951
Latest member
kaiaviet
Back
Top Bottom