THẢO LUẬN

Avatar
đã bình luận câu trả lời trong câu hỏi
thg 1 18, 2018 7:01 SA

vậy về cơ bản vẫn là xài thằng for phải không :#)

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 1 18, 2018 6:58 SA

Trước hàm callback mình có khai báo async rồi mà nhỉ Vậy bạn có thể sửa lại theo hướng dùng forEach giúp mình được không

0

bao giờ có ava mới rồi để =))) ava giờ sida quá (lol)

0
thg 1 18, 2018 6:03 SA

Nai xừ 😄

0

add vào series đi anh :v đỡ phải tìm.

0
thg 1 17, 2018 7:37 SA

Mình cũng mới tìm hiểu về lĩnh vực này thôi, hy vọng sẽ được trao đổi thêm nhiều với bạn 😃

0
thg 1 17, 2018 7:35 SA

Thank you. Kiến thức của mình còn sai nhiều quá, hy vọng có thời gian sẽ xem tiếp phần 2 để hiểu thêm. MÌnh cũng đang bắt đầu tìm hiểu Blockchain, hy vọng có cơ hội cafe chém gió and build some thing with you.

+1
thg 1 17, 2018 7:16 SA

@bienhoang Mình có một vài ý kiến về vấn đề mining này 😃

Máy nhanh nhất giải ra bài toán sẽ được chia 1 phần Bitcoin được sinh ra sau khi Block được thêm vào

Người tìm ra lời giải cho bài toán Proof Of Work sẽ được nhận toàn bộ Bitcoin từ coinbase, cũng như phí giao dịch của những transaction trong block, mà không chia sẻ cho bất kì ai. Hiện thì việc solo mining gần như là không thể nên các thợ mỏ phải join vào các mining pool, khi đó thì thành quả tạo ra sẽ được chia cho những người đóng góp sức mạnh tính toán vào trong mining pool thôi.

các máy tham gia verify đáp án cũng nhận được Bitcoin nhưng ít hơn

Các node thực hiện verify block, tức các full node, hoàn toàn không nhận được một chút Bitcoin nào. Công việc của full node chỉ là verify block, verify transaction.

1 Block được thêm nếu có trên 50% máy trong mạng đồng thuận việc xác nhận các giao dịch trong Block đó

1 Block có thể được thêm bất chấp việc nó chỉ được thiểu số chấp nhận. Hiện tượng một block mới được tạo ra, nhưng chỉ được một lượng full node nhất định chấp nhận, và một block khác được lượng full node còn lại chấp nhận, gọi là chain split, hay chain fork. chain fork có thể được (hay bị) tạo ra bởi hard fork. Việc tạo ra block mới là công việc của Miner, verify block là công việc của full node. Full node có thể chấp nhận hay không chấp nhận block mà miner tạo ra. Khi nó không chấp nhận, có nghĩa là giữa miner và full node đó đã có consensus khác nhau, có thể dẫn đến sự ra đời của 2 blockchain khác nhau.

Nếu một người kiểm soát trên 50% lượng máy trong mạng.

Majority Attack chỉ có thể thực hiện khi một người kiểm soát được trên 50% sức mạnh tính toán (hashrate) của mạng lưới, chứ không phải 50% lượng máy tính trong mạng. Việc kiểm soát 50% full node không thể tấn công được mạng lưới.

có khả năng thay đổi các giao dịch trong mạng Blockchain

Majority Attack chỉ có thể khiến một giao dịch đã được verify trở thành chưa verify, để tấn công Double Spending, chứ không thể thay đổi nội dung của một giao dịch. Nó cũng không thể xoá một giao dịch, tạo ra một giao dịch sử dụng bitcoin của người khác, hay thay đổi lượng coin nhận được từ một block ...

Những phần này đã được mình đề cập ở Bitcoin: The Hype, The Myth, and The Truth - Part 2, hy vọng mình có thể trao đổi thêm ở post đó 😉

+4
thg 1 17, 2018 4:38 SA

Bổ sung 1 tí về đoạn Mining hay làm sao để 1 Block được tạo ra. Theo quy tắc của Bitcoin thì cứ 10 phút sẽ có 1 Block được thêm vào, tuy nhiên số lượng máy tính tham gia và mạng Bitcoin ngày 1 lớn, dễ tới việc giải bài toán Decentralized Consensus ngày một nhanh hơn, và như vậy thời gian để 1 Block được thêm vào sẽ nhanh hơn trước đây => Vi phạm quy tắc. Để khắc phục việc này thì mạng Blockchain đưa ra 1 Target cho mạng, hay gọi là Target bits. Tức là đề bài được đưa ra sẽ khó hơn, để đảm bảo dù có thêm bao nhiêu máy tính vào mạng để Mining thì cũng phải mất 10 phút mới tạo ra được 1 Block. Máy nhanh nhất giải ra bài toán sẽ được chia 1 phần Bitcoin được sinh ra sau khi Block được thêm vào, các máy tham gia verify đáp án cũng nhận được Bitcoin nhưng ít hơn. 1 Block được thêm nếu có trên 50% máy trong mạng đồng thuận việc xác nhận các giao dịch trong Block đó. Nếu một người kiểm soát trên 50% lượng máy trong mạng, có khả năng thay đổi các giao dịch trong mạng Blockchain, còn gọi là tấn công quá bán. Nhưng việc này khó xảy ra vì không thểm nào kiểm soát được 50% mạng.

0
thg 1 17, 2018 3:57 SA

Đọc xong hoang mang luôn =))

+1
thg 1 17, 2018 1:41 SA

Bài viết quá hay ❤️

+1
thg 1 16, 2018 3:16 CH

Mình muốn hỏi phím tắt để tạo cái comment trên mỗi function như nào vậy nhỉ? Thanks you!

0
thg 1 16, 2018 9:49 SA

bài viết hay quá. cảm ơn bạn nhé !

0

Dạ em chào anh ạ, em cũng có vài vấn đề tồn tại trên IE do IE chưa hỗ trợ path 2D trong canvas, tức là từ đường path lúc trước e vẽ bằng svg, nhưng mà vài lý do e cần chuyển nó về vẽ trên canvas tận dụng đường path svg cho trước đấy, e có tìm hiểu thì dùng path2D, nhưng nó ko hỗ trợ trên IE anh ạ, hiện tại em chưa tìm được giải pháp, không biết là anh đã từng gặp trường hợp này chưa ạ, nhờ anh chia sẻ cho em chút giải pháp với ạ. Em cám ơn anh

0
thg 1 16, 2018 5:20 SA

😄

0
thg 1 16, 2018 5:19 SA

Cảm ơn bạn đã góp ý. Mình diễn đạt câu chưa được chính xác lắm ở đoạn này :slight_smile: Mình sẽ sửa lại

0
thg 1 16, 2018 2:13 SA

Dễ thấy () => val không phải là một pure function. Do đó trong FP, cách làm trên là không được khuyến khích. ... constant là một pure function nên chúng ta sẽ không cần lo lắng về việc vi phạm các quy tắc trong FP.

constant pure, nhưng ở đây dùng kết quả constant(val), vẫn là một impure function mà thôi Nếu lấy lí do constant thường được dùng nhiều lần thì còn có vẻ hợp lý hơn?

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í