THẢO LUẬN

Trong ví dụ ở phần 3 này mình lấy ví dụ đơn giản và chỉ là góc nhìn một chiều của 1 người đào. Nhưng thực tế hoạt động đào tiền ảo là hoạt động MẠNG NGANG HÀNG. Nghĩa là bạn phải luôn luôn kết nối và trao đổi (sync) song song với ít nhất 3 người đào khác, để luân chuyển cái mảng Blockchain.

Bạn đọc phần 4 thì sẽ hiểu đến sự tranh chấp Block trong Blockchain. Không có chuyện một mình bạn tự tung tự tác với cả Blockchain, bạn luôn phải chiến đấu với những người khác để đạt được chuỗi Blockchain dài nhất. Và giao dịch trong đó chỉ có một mình giao dịch của bạn thì liệu những người kia có tin tưởng bạn nữa không? Bạn không nên quên sau mỗi lượt đào bạn phải sync lại toàn bộ BLockchain (kết nối với những người đào khác bằng mạng ngang hàng và so sánh xem dữ liệu đã đào được như thế nào)

Nếu bạn đọc đến phần 5 thì sẽ hiểu là, khả năng bạn nhận được cả 100 phần thưởng kia thì sẽ rất thấp vì bạn đào xong rồi nhưng người khác đào nhanh hơn đã đào trước bạn và được thưởng trước bạn.

Trong thế giới BitCoin thì sau 6 lượt đào mới chính thức nhận đc phần thưởng. Sẽ ra sao nếu bạn hì hục đào ra 6 Block và nhận ra toàn bộ điện năng bỏ ra đều không được tiền thưởng.

0

Con số 6 blocks, hay 6 confirmations, là con số thường dùng dành cho một transaction bình thường em ạ, bởi để thay đổi chuỗi 6 blocks bằng một chuỗi khác dài hơn, sẽ cần một lượng sức mạnh tính toán rất lớn, và con số 6 này được coi là an toàn để một service có thể coi một transaction là thành công và gần như không thể bị đảo ngược.

Ngày nay, sức mạnh tính toán của mạng lưới Bitcoin ngày càng lớn, kéo theo việc đào được 1 block càng ngày khó hơn, thế nên nhiều nơi họ chỉ cần 2 confirmations thôi là coi là OK rồi.

Còn UTXO của coinbase transaction thì phải chờ tới 100 blocks thì mới dùng được em ạ 😄 Đó là thiết kế trong các client bitcoin rồi. 😄

0

Cho mình hỏi, nếu chạy code MyCoin.DaoTienAo("DiaChiViTienCuaToi"); liên tục thì t sẽ đào được rất nhiều coin à, chẳng cần biết có ai giao dịch hay không, ở đây là mình đã không tạo sẵn dữ liệu giao dịch Screen Shot 2018-05-25 at 12.40.51.png

0

dạ vâng e cảm ơn, vậy tức là sau khi một block được thêm vào sổ cái thì (vdu như là 2 block e đề cập bên trên) vậy thì UTXO của coinbase sẽ phải chờ thêm khác block khác được nối thêm vào sổ cái ( chắc chắn xác định được block nào dành chiến thắng) thì miner đó mới có thể sử dụng coinbase phải k a ( theo e tìm hiểu thì hình như là 6 block thì phải)

0

em bị lỗi này anh ạ .. Class App\Repositories\Contracts\ProductRepositoryInterface does not exist

0

cảm ơn câu hỏi của bạn, nếu nhìn vào ví dụ 1 ngay bên dưới thì bạn sẽ rõ hơn: ở đây closure là hàm numberGenerator() và hàm định nghĩa trong closure chính là hàm checkNumber()

0
thg 5 25, 2018 2:26 SA

Cách của bác đựa ra rất hay. Nhưng mình xin nêu 1 số điểm như sau để cùng thảo luận Nếu không hợp lý bác có thể phản bác lại 😃

  • Thứ 1: Ví dụ bài toán như sau: Activity_A (gọi Api-> có kết quả sẽ hiện ra 4 fragment) ViewPager (có 4 Fragment)

             1. Fragment_1 (user click gì đó rồi gọi Api_Frag_1)
    
             2. Fragment_2 (user click gì đó rồi gọi Api_Frag_2)
    
             3. Fragment_3 (user click gì đó rồi gọi Api_Frag_3)
    
             4. Fragment_4 (user click gì đó rồi gọi Api_Frag_4)
    

*Lưu ý: Giao diện thông báo của mỗi Fragment là khác nhau

Nếu như trường hợp như bác đã nêu thì chỉ show status trên những Acivity nào extends từ BaseActivity. Fragment sẽ không có method để gọi Vậy Fragment lúc này cũng sẽ lại phải dựng BaseFragment và có các phương thức như trên thì mới gọi được. => Còn cách của mình thì ko cần quan tâm nó ở Activity hay Fragment hay Dialog, .... thì vẫn gọi được

  • Thứ 2: Bác để ý thấy là cách của bác setVisibility quá nhiều ko. Nguyên nhân là do bác để chung tất cả vào 1 chỗ. Còn cách của mình thì cần các nào thì mới addView vào thôi và khi đổi status thì sẽ xóa cái cũ đi và add cái mới vào => cách mình có nhẹ hơn chút ít
0

xem tut chùa nhiều rồi giờ phải sống có ích cho xã hội thôi 😄

+1
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 5 24, 2018 4:01 CH

Nếu cái này làm bằng reactjs thì bạn coi cái hashrouter history của react router v4 thử

0

rất hay bạn ơi ! 😄

+1

bạn chưa sử dụng cái dấu 3 chấm ... ròi... sự lợi hại của 3 chấm. hihi

0
thg 5 24, 2018 1:10 CH

Em thử tắt trang web và vô lại link vẫn còn đăng nhập, bình thường session khi tắt trang web là nó phải thoát ra luôn chứ ạ, có cách nào thoát ra luôn k ad ???

0
thg 5 24, 2018 11:55 SA

I would recommend you to use custom artisan command, for example "php artisan make:command HourlyUpdate" to create a cron job. To run the cron job in Laravel, run following command

          • php /home/master/applications/your_project_folder_name/public_html/artisan schedule:run >> /dev/null 2>&1
+1

Chào Đức, hot author rồi đấy =)))

0
thg 5 24, 2018 9:29 SA

Thanks bạn, hóng bài tiếp theo

0
thg 5 24, 2018 9:16 SA

Bài viết rất hay và bổ ích.

0
thg 5 24, 2018 9:15 SA

Thank for share (bow)

0

Shatoshi chỉ tạo ra khối đó thôi bạn chứ ổng lấy tiền thưởng 50 BitCoin làm gì. Chắc bạn nhớ nhầm về việc ông ấy giữ trước 1 tỉ BitCoin. Tại sao ổng giữ được. Hiện nay đó vẫn là một câu hỏi lớn chưa có lời giải, bạn xem thêm ở đây: https://www.reddit.com/r/Bitcoin/comments/7f9o5n/how_did_satoshi_get_his_1_million_btc/ https://whoissatoshi.wordpress.com/tag/1-million-btc/

Và tiếp theo là đâu có giao dịch gì trong Block Genesis để biết được là trả thưởng cho ai đâu. Bạn thiếu một chỗ nữa đó là trong BlockChain hoàn toàn không có định danh và không thể biết ai là ai. Vì địa chỉ đưa vào giao dịch chỉ là một chuỗi ma. TienThuong chỉ có thể chuyển từ ví ảo này qua ví ảo kia chứ k thể chuyển thành tiền mặt (như cách hoạt động của ngân hàng ngoài đời, tiền đô chuyển sang tiền Việt và ngược lại. BItCoin và Etherium là 2 đồng tiền khác nhau không thể nào hack để nạp 1 cái vào mảng Block kia đc, phải có một chợ mua bán trung gian để trao đổi, và lúc này người mua người bán sẽ phải lộ mặt, để làm tin). Còn trong cùng Block thì cứ Block được tạo và theo sau nó có thêm 6 Block, tức chuỗi dài 7 Block là bắt đầu đáng tin, k cần biết chủ sở hữu là ai.

Bài thứ 3 này chưa phải là bài cuối cùng mà bạn hãy đọc hết serries này của mình (gồm 6 bài) thì sẽ hiểu rõ hơn những cái bạn đang thắc mắc nhé.

0

oh, vậy để mình đọc lại xem. mà mình còn có 1 thắc mắc nữa. Như ở đây mình đã mặc định cho khối GenesisBlock và gán dữ liệu cứng cho nó từ đầu. Người nối tiếp block tiếp theo mới được trả thưởng. Nhưng còn ở Bitcoin sao mình đọc thấy khối GenesisBlock phải đào, và satoshi là người đào cái khối đầu tiên đó và được thưởng 50 bitcoin. Như vậy là # cách làm này phải ko.

0

Vậy bạn lại hiểu nhầm ở cách tiền thưởng được trao. Tiền thưởng thường thì cũng được chứa ở trong Block luôn, và nó nằm ở trong mảng GiaoDịch luôn. Không có một hệ thống trả thưởng độc lập với BlockChain.

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí