Tôi đi biểu tình ở Mỹ

Tôi đi biểu tình lần đầu là khi biểu tình tự phát chống chính quyền Trung Quốc nổ ra ở Sài Gòn vào năm 2007. Lần đó chẳng làm được gì, không biểu ngữ, không cờ phướn vì thiếu chuẩn bị, ra đến nơi cũng không hò hét được gì, vì cứ bị cảnh sát với dân phòng lùa hết chỗ này sang chỗ khác. Lần thứ hai tôi đi biểu tình, cũng lại là chống chính quyền Trung Quốc, là ngày hôm qua. Bọn tôi biểu tình trước lãnh sự quán Trung Quốc ở San Francisco (SF), rồi diễu hành gần hai cây số đến Union Square, quãng trường trung tâm thành phố.

Theo thông tin trên mạng thì muốn biểu tình phải xin giấy phép và nơi xin là sở cảnh sát San Francisco (SFPD), nên tôi gọi điện lên hỏi. Người ta hướng dẫn là chỉ cần lên điền một cái đơn theo mẫu là được. Hình như có thể nộp qua mạng, nhưng do làm lần đầu nên tôi muốn nộp đơn trực tiếp, để có thắc mắc gì thì hỏi luôn. Tôi cũng hơi lo lắng, không biết có nhận được giấy phép trước thời gian dự kiến của cuộc biểu tình hay không.

Hóa ra đúng là chỉ cần điền một cái đơn theo mẫu là được. Không tốn tiền gì và chỉ mất chưa đến 10′, chưa kể thời gian chạy từ nhà lên SFPD. Người ta hẹn hôm sau sẽ có một sĩ quan cảnh sát gọi điện thoại lại để xác nhận là được cấp phép hay không. Viên sĩ quan gọi cho tôi giọng rất vui vẻ, dặn dò rằng chỉ cần không tràn xuống lề đường là được, họ sẽ cử cảnh sát ra để đảm bảo an ninh trật tự và giúp đỡ đoàn khi diễu hành. Ông cảnh sát còn nói với tôi là “Chỗ lãnh sự quán Trung Quốc này có biểu tình hoài hà” :-).

Đến ngày đến giờ, mấy ông cảnh sát có mặt đúng hẹn, rồi theo chân đoàn biểu tình cho đến khi chúng tôi rã đám. Khi đoàn đi diễu hành, họ chạy xe theo để đảm bảo chúng tôi qua ngã tư an toàn và không làm ách tắc giao thông. Khi bọn tôi hỏi có thể dùng loa để hô khẩu hiệu không, mấy ổng kêu “Vô tư đi, mấy anh dùng cái gì để nói cũng được, đừng lo”. Lúc đó tôi hiểu rằng trách nhiệm của người cảnh sát là đảm bảo cho người dân chúng tôi được thực thi quyền tự do ngôn luận được ghi trong hiến pháp Mỹ. Họ cứ thế mà làm, chẳng phải băn khoăn có ai “lợi dụng các quyền tự do dân chủ” hay không.

Đối ngoại thì nhẹ nhàng, còn đối nội thì có phần nhiêu khê hơn.

Bọn tôi thông báo kế hoạch biểu tình cho cộng đồng cựu du học sinh, những người đang làm việc ở đây như tôi, và cả những bạn sinh viên học sinh đang học ở các trường đại học trong vùng và yêu cầu ai đi được thì đăng ký trên một cái spreadsheet. Tôi để chế độ “Ai cũng được phép sửa” và vài tiếng đồng hồ sau thì có ai đó vào xóa hết thông tin trong cái spreadsheet và phán rằng chúng tôi là “bọn phản động”. Tôi không biết ai là người làm việc này, nhưng tôi cũng muốn cảm ơn, vì đây là lần đầu tiên trong đời tôi được gọi là phản động. Tôi chưa bao giờ yêu nước đến mức được xem là phản động cả. Thật vinh dự.

Một vấn đề nổi cộm của cuộc biểu tình là màu cờ. Hai câu hỏi mà tôi nhận được nhiều nhất là: có được đem cờ đỏ sao vàng không? Liệu có ai đem cờ vàng ba sọc không? Tôi chủ trương đây là cuộc biểu tình mở, bất kỳ ai cũng có thể tham gia. Tôi nghĩ mang cờ gì là chuyện của mỗi cá nhân, chứ cả thảy buổi biểu tình không đại diện mà cũng không loại bỏ bất kỳ màu cờ gì. Buổi biểu tình chỉ đại diện cho người Việt Nam. Miễn sao là người Việt Nam hoặc có quan tâm đến tình hình Việt Nam là được chào đón. Ví dụ như ai là công dân CHXHCNVN thì sẽ đem cờ đỏ sao vàng, ai là công dân của VNCH thì có thể đem cờ vàng ba sọc. Tất cả đều được chào đón. Chúng ta là đồng bào.

Thú thật thì ở đây tìm cờ đỏ sao vàng rất khó, nên bọn tôi cũng nghĩ nếu buổi biểu tình không có cờ đỏ sao vàng mà chỉ có cờ vàng ba sọc thì kể ra cũng kỳ, vì phần lớn chúng tôi sinh ra đã là công dân CHXHCNVN, dẫu có thể không thích chính quyền hiện tại nhưng màu cờ đỏ sao vàng vẫn quen thuộc và thiêng liêng nhất. Có vài đề nghị (từ những người không đi biểu tình :-P) là chúng tôi nên liên hệ với lãnh sự quán Việt Nam ở San Francisco để mượn cờ và áo. Người của lãnh sự quán cũng có liên hệ với tôi, nhờ tôi mời một số kiều bào đang sống trong vùng đến biểu tình, vì họ e rằng họ mời người ta không đi.

Tôi không muốn mời ai cả, vì tôi cho rằng biểu tình cho đất mẹ vừa là trách nhiệm, vừa quyền lợi của người tha hương như chúng tôi. Mỗi người nên tự nguyện tham gia. Tôi và người bạn đứng ra tổ chức cũng chuẩn bị sẵn tinh thần là vẫn biểu tình nếu chỉ có vài người tham gia. Tôi cũng không liên hệ với lãnh sự quán, vì không muốn có sự hiểu lầm rằng cuộc biểu tình này là do chính phủ Việt Nam tổ chức. Rất may là vào phút chót hội du học sinh Việt Nam ở Bắc California tham gia và họ có đầy đủ áo cờ rất đẹp. Như thấy trong hình, rốt cuộc chỉ có cờ đỏ sao vàng. Tôi nghe nói là người cờ vàng ba sọc đã biểu tình một tuần trước đó.

Có người hỏi tôi là tại sao lại tổ chức biểu tình, lãnh sự quán Trung Quốc đóng cửa vào chiều thứ bảy, mục tiêu của đoàn biểu tình là gì?

Tôi nghĩ nếu không xem được trực tiếp thì họ có thể xem trên lại buổi biểu tình trên… Facebook :-). Thời đại truyền thông xã hội mà. Quan trọng là mình có thông điệp rõ ràng, mạnh mẽ, còn lại thì để truyền thông làm nhiệm vụ phát tán.

Tôi không biết chắc lý do những người khác biểu tình, nhưng với cá nhân tôi thì biểu tình trước hết là cho bản thân mình. Tôi xin mượn lời của anh Trình Quốc Tuấn viết cho con gái chưa tròn hai tuổi:

“Hôm nay có người đã hỏi ba: đi làm gì, giải quyết được gì?

Ba đã trả lời: tại sao lại hỏi đi làm gì, giải quyết được gì? Đơn giản là xuống đường để chia sẻ tình cảm của mình với tổ quốc, để được đi cùng những người mà trong cuộc sống chưa một lần gặp, nay đứng bên nhau nhìn về một hướng. Để thấy mình không cô đơn, để giải toả sự phẫn uất của một công dân khi chủ quyền bị chà đạp. Thứ tình cảm đó nó thiêng liêng từ trong máu mủ và ko vụ lợi thì tại sao phải hỏi quá nhiều phải không con!”

Tôi đi biểu tình còn là vì đây là quyền tự do của tôi. Tôi đang sống ở một xứ sở tự do, nếu tôi có quyền nói mà tôi không dám nói thì không khác chi là tôi tự tước đi tự do của tôi. Tôi không thể làm như thế được. Có vài người nói với tôi là họ cũng muốn đi, nhưng sợ bị chụp hình chung với cờ vàng ba sọc, sợ bị đánh dấu là có hoạt động chính trị, v.v. nên thôi. Tôi hiểu nỗi sợ của họ, nhưng chính vì thế mà tôi càng muốn đi, để cho người ta thấy là sợ hãi và tự kiểm duyệt không phải là việc làm của một con người tự do.

Vả lại nếu chúng tôi không đi, thì ai sẽ đi? Nếu ai cũng sợ thì ai sẽ làm gì đó?

Chủ đề Chưa phân loại | Phản hồi »

Lập trình máy kỳ dị

Đồng nghiệp cũ của tôi ở Matasano mới làm một cái game rất thú vị, bạn nào muốn luyện kỹ năng dịch ngược mã và khai thác lỗi bộ nhớ thì nên xem: microcorruption.com.

Lâu lắm rồi tôi mới chơi game dạng này. Hồi trước tôi hay chơi CTF, nhưng mà CTF thường đòi hỏi phải tập trung liên tục trong vài ngày. Có lần tôi chơi liên tục ba ngày hai đêm, ngủ luôn ở công ty, sáng dậy thì đi bộ ra ăn hủ tíu gõ xong về chơi tiếp. Không tắm! Bây giờ thì không làm vậy được nữa. Với lại CTF nhiều khi đòi hỏi phải có những công cụ hay setup mà tôi không có sẵn, nên dần dà tôi cũng không còn mặn mà lắm.

Micro Corruption hay ở chỗ chỉ cần browser là chơi được và muốn chơi lúc nào cũng được. Mỗi ngày tôi chơi 1-2 tiếng, khi nào chán thì thôi, không phải chạy đua thời gian nên khá là thư giãn. Điều mà tôi thích nhất là game này có nhiều màn, bắt đầu từ rất dễ, mãi về sau mới có những mức khó hơn, thành ra mình có thể vừa chơi vừa học. Tôi thích những game mà tôi có thể học được gì đó, hơn là những game đánh đố, khó nhưng không hay.

Tôi chơi hổm rày thì thấy những màn đầu chỉ cần kiến thức cơ bản về cấu trúc máy tính và cách tổ chức bộ nhớ của một tiến trình là có thể làm được. Sau đó sẽ có những màn đòi hỏi phải biết cách khai thác lỗi hỏng bộ nhớ trên stack, trên heap, lỗi tràn số nguyên hay lỗi format string. Những màn gần cuối sẽ có thêm những trở ngại phải vượt qua như DEPASLRshellcode chỉ được chứa ký tự alphabet, v.v Nhìn chung là tất cả những hướng tấn công mà chúng ta biết đến, cách phòng chống thông thường và cách vượt qua chúng đều được đưa vào game.

Chơi game này dễ ghiền, vì nó cho ta cảm giác ta có thể kiểm soát tất cả mọi thứ. Tôi nghĩ đây cũng là điều làm cho ngành security, mà đặc biệt là lĩnh vực khai thác lỗi phần mềm, trở nên cực kỳ hấp dẫn. Bạn lấy một chương trình, chẳng cần mã nguồn, mở tung nó ra để rồi hiểu nó còn hơn cả người viết ra nó. Bạn chạy chương trình, gửi cho nó một đoạn dữ liệu và ngay lập tức kiểm soát được lệnh tiếp theo mà chương trình sẽ chạy. Nhưng mọi chuyện chưa dừng ở đây, mà cuộc vui thật sự chỉ mới bắt đầu.

Bạn cần phải lập trình lại chương trình ban đầu. Ví dụ như khi dùng Mobile Safari trên một số phiên bản iPhone để truy cập vào www.jailbreakme.com thì Safari không còn là trình duyệt nữa, mà trở thành công cụ jailbreak tự động. Bản thân Safari không thể làm việc này, nhưng nó đã được comex lập trình lại. Vào năm 2010 Safari cũng đã từng được lập trình lại để tải hết tin nhắn SMS lên một máy chủ. Chrome cũng không thoát khỏi số phận bị lập trình lại, mặc cho các kỹ sư Google đã dày công bày binh bố trận bảo vệ.

Rõ ràng lập trình lại một chương trình đang chạy không phải là chuyện đơn giản. Bạn cần phải biết (một phần) trạng thái của chương trình: giá trị của các register, trên stack và heap đang có những gì, các biến toàn cục và cục bộ đang có giá trị gì, v.v. rồi bắt chương trình chạy lệnh theo ý mình và chuyển qua một trạng thái tiếp theo. Nhưng nhập lệnh gì và như thế nào?

Một ví dụ cơ bản: bạn muốn gọi một hàm và truyền vào cho nó một chuỗi (ví dụ như gọi hàm system, truyền vào con trỏ đến chuỗi /bin/sh để lấy shell), nhưng tại thời điểm bạn kiểm soát được chương trình thì stack trông như thế này:

Bạn kiểm soát được nội dung những ô màu xanh, nhưng không kiểm soát được ô màu trắng. Nói cách khác bạn cần phải chạy được những lệnh để chuyển con trỏ stack (esp) về vùng nhớ mà bạn kiểm soát được. Có nhiều cách để làm được việc này – một cách đơn giản là trỏ eip (con trỏ chứa địa chỉ dòng lệnh tiếp theo của chương trình) vào một đoạn chương trình có nội dung là

pop
pop
pop
ret

Mỗi lệnh pop sẽ chuyển esp lên một ô, ba lệnh pop sẽ chuyển esp lên ô màu xanh đầu tiên, lệnh ret sẽ lấy giá trị của ô này gán cho eip. Nhưng đoạn “pop, pop, pop, ret” ở đâu ra? Bạn có thể nhập vào, hoặc hay hơn là sử dụng lại chính mã của chương trình mà bạn đang muốn kiểm soát. Kỹ thuật này đã được sử dụng từ rất lâu và gần đây được gọi là return-oriented programming. Ở Việt Nam có mấy anh ở VNSECURITY là chuyên gia trong lĩnh vực này.

Tựu trung lại thì cái máy mà bạn cần phải lập trình rất dị thường: trạng thái đầu vào, dữ liệu có thể nhập vô, định dạng của chúng, trạng thái đầu ra, tập lệnh có thể chạy được, v.v. tất cả những thông tin mà bình thường bạn sẽ biết có thể sẽ rất mù mờ và chính bạn phải lần mò tìm ra chúng bằng cách dịch ngược mã chương trình. Có khi một phần chương trình mục tiêu cũng bị che đi và bạn phải dùng một lỗi ở phần chương trình đã biết để tải về mã của phần chương trình chưa biết. Trong mớ bòng bong này, bạn phải khiến chương trình làm được một việc gì đó hữu ích cho bạn! Chào mừng đến với nghệ thuật lập trình máy kỳ dị.

Tôi nghĩ dùng Micro Corruption làm giáo trình dạy kiến trúc máy tính thì hay tuyệt. Nếu mấy anh ở Matasano đồng ý, tôi sẽ thu xếp dùng cái này để mở một lớp trực tuyến miễn phí về kiến trúc máy tính và khai thác lỗi phần mềm. Sách để đọc là cuốn Computer Systems: A Programmer’s Perspective mà tôi đã có giới thiệu trước đây. Tôi sẽ thông báo khi nào chuẩn bị xong.

Chủ đề Chưa phân loại | 1 phản hồi »

Từ đại số đến bitcoin

Loạt bài này tôi viết chung với anh Ngô Quang Hưng. Một phiên bản của loạt bài này, bỏ những chỗ nhố nhăng của tôi ra, sẽ được gửi đăng trên Thời Báo Kinh Tế Sài Gòn. Những đoạn đánh dấu * là những đoạn có thể bỏ qua, mà không ảnh hưởng gì đến nội dung bài. Mời mọi người đọc và còm.

Cập nhật: bài này còn nhiều chỗ sai. Tôi đang sửa, nên nếu bạn muốn sao chép sang chỗ khác thì hãy đợi bản hoàn chỉnh nhé.

Satoshi xóm Đẻ

*Một trong những trò chơi yêu thích hồi nhỏ của tôi và đám bạn ở xóm là đánh bài ăn tiền. Kỳ thực đám con nít tụi tôi đâu có tiền thật nên tụi tôi đánh bài ăn những loại tiền tượng trưng, được chọn theo mùa. Một năm có rất nhiều mùa, một mùa kéo dài vài ba tuần hay vài tháng, cho đến khi một đứa trong bọn gom hết “tiền” của mùa đó thì cả đám chuyển sang mùa khác.

*Có mùa bọn tôi đánh bài ăn dây thun. Dây thun thường phải mua bằng tiền thật, nên bọn tôi cũng có hệ thống quy đổi, một trăm đồng là bao nhiêu cộng dây thun. Nhiều đứa, trong đó có tôi, nhịn ăn nhịn uống để bỏ tiền mua dây thun về chơi. Những đứa có nhiều dây thun, chúng thắt thành sợi to, quấn quanh người, vàng đỏ đủ màu, như người ta đeo vàng, trông rất đã.

*Có mùa bọn tôi đánh tiền ăn nút khoén (nắp chai bia). Nút khoén thì không cần mua, chỉ cần bỏ thời gian đi lụm. Lụm về thì lột phần mủ cao su ra, xong đặp dẹp lại và xâu thành khoen, ăn thua nhau bằng cách đánh bài hoặc chơi thảy lổ. Có những đứa làm biếng đi lượm thì chúng bỏ tiền ra mua, “tỉ giá quy đổi” sẽ phụ thuộc hoàn toàn vào số lượng nút khoén đang có trên “thị trường” lúc đó.

*Có mùa bọn tôi đánh bài ăn trái của vẹc ni người ta trồng kín mít con đường trước xóm. Cũng có mùa bọn tôi đánh bài ăn mấy viên sỏi đủ màu lượm được ở con sông gần nhà. Nhưng vui nhất, quan trọng là giống tiền thật nhất, là khi bọn tôi đánh bài ăn vé số dò rồi. Vé số thì bọn con nít xóm tôi có đầy, do nhiều đứa đi bán vé số dạo. Gần Tết thường có loại vé số bự, đủ màu, bọc ny lon, chơi đánh bài rất đã, y như trong phim xã hội đen Hồng Kông.

*Có mấy đứa con nhà giàu, không phải đi bán vé số và cũng làm biếng đi lượm, nên chúng nó lại bỏ tiền thật ra mua tiền giả. Tôi nhớ có lúc tỉ giá là một ăn mười, nghĩa là một trăm đồng tiền thật thì đổi được một tờ vé số giá một ngàn đồng. Có thằng nhà giàu bỏ ra vài chục ngàn đồng để thu mua gần hết vé số, vì nó muốn trở thành ông trùm. Nhưng mà sáng hôm sau cả xóm quyết định hết mùa vé số, bắt đầu mùa mới là đánh bài ăn hột mít hoặc hột sầu riêng. Một hột sầu riêng bằng ba hột mít, vì chúng bự và hiếm hơn. Thế là lại đi lượm, đứa nào không lượm thì lại lấy tiền thật mua. Có đứa còn bắt má nó mua mít về ăn mỗi ngày để nó lấy hột.

*Có một sự tương quan nhất định giữa tiền thật mà chúng ta đang sử dụng với tiền giả của đám con nít xóm tôi, nhưng thôi tôi để dành sự phân tích đó cho các chuyên gia tiền tệ ngân hàng. Ở đây tôi muốn nói đến một ý tưởng rất thú vị. Cái thằng đầu tiên nghĩ ra cái hệ thống tiền theo mùa này thật khôn – nó không có tiền, nhưng nó đã nghĩ ra một cách rất hay để có tiền: tự tạo ra tiền. Mười mấy năm sau, khi mà hệ thống tiền theo mùa chỉ còn là câu chuyện trên bàn nhậu, thì một (nhóm) chuyên gia máy tính bí ẩn đã lập lại ý tưởng độc đáo này và tự tạo ra một loại tiền mới.

Tôi đang phát triển một hệ thống tiền điện tử mới…“, một người (hay một nhóm người? Chẳng ai biết cả!) tự gọi mình là Satoshi Nakamoto, đàn-ông-người-Nhật-lập-trình-viên-37-tuổi, đã thông báo như thế trên Internet vào một ngày đầu tháng mười một năm 2008. Những gì diễn ra sau đó, như người ta thường nói, đã trở thành lịch sử.

Chỉ trong vòng năm năm, từ chỗ không đáng giá một xu và cũng chẳng có mấy ai để ý đến bitcoin (đọc là bít-côn) đã và đang tạo nên một con sốt, thu hút sự chú ý của phố Wall, giới đầu tư và đầu cơ, lẫn giới khoa học công nghệ trên toàn thế giới. Tại thời điểm tôi viết bài này, mỗi bitcoin được định giá gần 900 đô la Mỹ và có những thời điểm được giao dịch tương đương với giá vàng thế giới.

Mặc dù giá trị thương mại và kinh tế của bitcoin còn bị nghi ngờ nhưng bitcoin được nhìn nhận là hội tụ một cách rất sáng tạo của nhiều ý tưởng độc đáo trong lý thuyết lẫn ứng dụng khoa học máy tính và mật mã học. Trong những phần sắp tới chúng ta sẽ cùng tìm hiểu những phát minh chính dẫn đến bitcoin.

Tiền trò chơi điện tử

Như Satoshi Nakamoto nói bitcoin là một loại tiền điện tử, vậy tiền điện tử là gì? Câu trả lời là: tùy thuộc vào hỏi ai. Nếu hỏi ông ngân hàng thì ổng sẽ nói tiền điện tử là mấy dịch vụ ngân hàng điện tử của ổng, giúp khách hàng không cần phải rút tiền mà vẫn mua hàng được. Mấy ông thẻ tín dụng như Visa hay MasterCard cũng sẽ nói thẻ của họ là một loại tiền điện tử, giúp phát triển thương mại trên Internet. Mấy ông VTC làm trò chơi trực tuyến ở Việt Nam sẽ kêu lên vcoin của họ cũng là tiền điện tử. Nhưng nếu hỏi một ông giáo sư khoa học máy tính, ổng sẽ dừng lại, mắt sáng lên rồi nói: tiền điện tử nó sâu sắc hơn nhiều!

Tiền điện tử được phát minh bởi David Chaum vào đầu những năm 80 của thế kỷ trước. Chaum cho rằng tiền điện tử phải đảm bảo được tính ẩn danh như tiền mặt (tiền giấy). Nói nôm na thì ẩn danh nghĩa là không ai có thể biết được bạn dùng tiền của bạn mua cái gì. Nếu bạn để ý trong những phim nước ngoài những người đang trốn chạy không xài thẻ tín dụng mà chỉ xài tiền mặt, chính là vì họ muốn ẩn danh, không muốn bị truy vết thông qua các giao dịch trên thẻ.

Khi bạn ra ngân hàng rút tiền mặt, rồi dùng tiền đó mua hàng hóa hoặc dịch vụ, thì rất khó để một người nhìn vào tài khoản ngân hàng của bạn mà biết được bạn đã mua gì, ở đâu và khi nào. Ngược lại nếu bạn dùng thẻ tín dụng hoặc giao dịch qua ngân hàng thì tất cả những thông tin mua bán của bạn đều sẽ được lưu lại tại ngân hàng và nếu muốn người ta hoàn toàn có thể moi được những thông tin cực kỳ riêng tư từ những giao dịch của bạn. Ví dụ như cách đây không lâu hãng Target công bố họ có thể biết được khách hàng nữ nào của họ đang có thai, đôi khi trước cả chính người khách hàng đó, bằng cách nhìn vào các món hàng mà họ mua!

Có thể đối với nhiều người thì việc lộ những thông tin này có ích hơn là có hại (vì sẽ giúp họ được phục vụ tốt hơn), nhưng từ cách đây hơn ba mươi năm Chaum đã chỉ ra rằng lộ thông tin cá nhân qua các giao dịch tài chính là lỗi chứ không phải tính năng (It’s a bug, not a feature!) của các loại tiền điện tử đương thời. Trong một thế giới mà rất nhiều chính phủ đang ngày đêm tăng cường theo dõi, giám sát và vi phạm quyền tiêng tư của các công dân, tôi không khỏi thán phục tầm nhìn xa của Chaum.

Mô hình tiền điện tử của Chaum có ba đối tượng chính: khách hàng An, người bán hàng Bình và nhà băng. An để tiền trong nhà băng và cần chuyển một số tiền cho Bình. Hệ thống của Chaum giúp cho An chuyển tiền cho Bình một cách an toàn, nhưng nhà băng vẫn không biết An và Bình có giao dịch với nhau. Ngân hàng biết rằng có một khách hàng của họ giao dịch với Bình, nhưng không thể biết chính xác người đó là ai. Đương nhiên ngân hàng có thể đoán mò, nên ý của tôi ở đây là ngân hàng không thể làm tốt hơn đoán mò.

Khi An mua một món đồ mới của Bình, nếu muốn An có thể che dấu tung tích của mình khiến cho Bình lẫn nhà băng không thể biết An chính là người đã mua hàng lần trước. Ngược lại Bình có thể hoàn toàn an tâm là đã nhận được tiền từ An. Nếu và chỉ nếu An gian lận thì danh tính của An sẽ bị bại lộ và ngân hàng có thể phong tỏa tài khoản của An hoặc nhờ sự can thiệp của pháp luật.

Rõ ràng nếu như An xài tiền mặt thì danh tính của An hoàn toàn đảm bảo. An rút tiền từ ngân hàng, rồi đưa tiền cho Bình, Bình gửi tiền vào lại nhà băng, nên trừ khi trường hợp nhà băng giám sát số serie tiền, nếu không họ không có cách nào biết rằng An giao dịch với Bình. Số serie là một cách đánh dấu tiền. Nếu như nhà băng không có cách nào đánh dấu tiền mà An rút ra thì họ không thể biết được An xài tiền đó như thế nào cả. Chaum tìm được một cách giúp An có thể rút được tiền không bị đánh dấu.

Để hiểu mô hình của Chaum, chúng ta có thể bắt đầu bằng một mô hình tương tự. Giả sử như nhà băng có một con dấu. Bất kỳ tờ giấy nào được đóng bởi con dấu này đều có giá trị một đồng. Nhà băng có thể có các con dấu khác cho các mệnh giá lớn hơn. Khi muốn rút tiền, An chuẩn bị sẵn một xấp giấy, đem đến cho nhà băng đóng dấu. Nhà băng trừ tiền từ tài khoản của An, rồi đóng dấu xấp giấy. Khi An chuyển cho Bình xấp giấy này, Bình có thể kiểm tra là chúng được đóng dấu bởi nhà băng (cứ giả sử là con dấu không thể làm giả hoặc sao chép, ta sẽ bàn chuyện này ngay sau đây). Khi Bình đem xấp giấy đến nhà băng, nhà băng có thể kiểm tra con dấu và ghi có cho tài khoản của Bình. Nhà băng vẫn có cách biết An là chủ sở hữu xấp giấy nếu họ lưu lại nội dung hoặc tìm cách bí mật đánh dấu xấp giấy của An. Nhưng An có cách để vô hiệu hóa những chiêu trò này.

Hành động đóng dấu của ngân hàng như là một chữ ký, công nhận giá trị của các tờ giấy, vốn chẳng có giá trị gì trước khi được đóng dấu. Lưu ý là ngân hàng không cần quan tâm đến nội dung những tờ giấy mà họ đóng dấu. Miễn sao cứ thấy một con dấu là họ cộng thêm cho Bình một đồng. Nói cách khác An có thể yêu cầu ngân hàng đóng dấu tờ giấy có nội dung X, xong rồi về sửa hoặc xóa đi X, nhưng vẫn giữ nguyên con dấu thì tờ giấy vẫn có giá trị một đồng, không hơn không kém. Hành động sửa nội dung của An không làm thay đổi giá trị của tờ giấy, nhưng có thể giúp An đảm bảo rằng ngân hàng không thể truy ra được danh tính của An từ những tờ tiền mà Bình gửi vào.

Chaum sử dụng một công cụ toán học được phát minh vài năm trước đó để hiện thực hóa con dấu của nhà băng.

Chữ ký của hiệp sĩ mù

Mặc dù được sử dụng rộng rãi trong các hoạt động hàng ngày, nhưng chữ ký tay (hoặc con dấu) có rất nhiều hạn chế. Ví dụ như người ta có thể làm giả chữ ký, hoặc sửa nội dung văn bản sau khi ký. Người ký vẫn có thể từ chối thừa nhận rằng họ đã ký văn bản. Chữ ký điện tử giải quyết một cách xuất sắc những vấn đề này. Được phát minh cùng lúc với sự ra đời của mật mã khóa công khai vào những năm 70 của thế kỷ trước, chữ ký điện tử đã trở thành một trong những công cụ toán học quan trọng nhất trong mật mã học cũng như an toàn thông tin.

Khi An ký văn bản D và tạo ra chữ ký điện tử S, rồi gửi DS cho Bình thì Bình có thể kiểm tra để đảm bảo (với xác suất rất cao) rằng An đã thực sự ký văn bản D và nội dung của D không bị thay đổi sau khi S được tạo ra. Nói cách khác chữ ký điện tử đảm bảo được tính toàn vẹn của văn bản được ký và giúp người nhận văn bản xác thực chính xác ai đã ký văn bản. Do không một ai khác, ngoại trừ An, có thể tạo ra chữ ký S, nên sau này An cũng không thể từ chối là đã ký văn bản D.

Nếu chúng ta thay thế con dấu của ngân hàng bằng chữ ký điện tử thì An có thể chuyển cho Bình một đồng bằng các bước như sau:

  1. An tạo ra một số ngẫu nhiên X và gửi cho ngân hàng.
  2. Ngân hàng ký X và tạo ra chữ ký Y. Ngân hàng gửi cặp số (X,Y) lại cho An. Mỗi cặp (X,Y) như thế này là một đồng tiền trị giá một đồng.
  3. An chuyển (X,Y) cho Bình. Bình có thể kiểm tra Y là chữ ký của ngân hàng trên X.
  4. Bình có thể gửi (X,Y) vào lại ngân hàng. Ngân hàng sẽ kiểm tra chữ ký của họ và ghi có một đồng vào tài khoản của Bình.

Có vài vấn đề trong mô hình này, nhưng trước tiên hãy tập trung vào tính ẩn danh mà Chaum đề xuất. Ở bước thứ tư, ngân hàng có thể dễ dàng biết rằng An đã mua hàng của Bình, do cặp số (X,Y) không thay đổi so với bước thứ hai. Chaum giải quyết vấn đề này bằng cách tạo ra một loại chữ ký điện tử mới, mà ông gọi là chữ ký mù. Chữ ký mù giúp An tạo ra một số ngẫu nhiên X, nhận lại (X,Y) từ ngân hàng, rồi từ cặp (X,Y) này tính ra một cặp (X^\prime,Y^\prime) khác, trong đó Y^\prime là chữ ký của ngân hàng trên X^\prime. Không một ai, ngoại trừ An, có thể tính (X^\prime,Y^\prime) từ (X,Y).

Rõ ràng chữ ký mù không thỏa mãn các thuộc tính của một hệ chữ ký điện tử thông thường, bởi An có thể tự tạo ra một chữ ký mới trên một văn bản mà ngân hàng chưa bao giờ ký. Đây cũng là điểm yếu rất phổ biến của các hệ chữ ký điện tử. Ở đây chúng ta thấy sự khéo léo của Chaum, khi khai thác điểm yếu này và biến nó thành một tính năng cực kỳ hữu ích. Lưu ý là ngân hàng không hề bị thiệt hại gì khi An tính ra cặp (X^\prime,Y^\prime), bởi vì đối với ngân hàng cứ một chữ ký là một đồng, họ không quan tâm nội dung được ký là gì. Chữ ký điện tử cũng đảm bảo rằng chỉ có ngân hàng mới có khả năng tạo ra chữ ký mới, do đó tiền không thể bị làm giả.

*Chữ ký mù có thể được triển khai bằng nhiều thuật toán chữ ký điện tử khác nhau, trong đó phổ biến và đơn giản nhất là RSA, thuật toán lừng danh mang tên ba nhà khoa học nghĩ ra nó. Chúng ta sẽ còn gặp lại chữ ký điện tử khi nghiên cứu kiến trúc của bitcoin, do đó tôi sẽ chỉ nói sơ qua về cơ sở toán học của RSA ở đây.

*Thuật toán RSA có nguồn gốc từ định lý Fermat nhỏ (để phân biệt với định lý Fermat lớn). Định lý này phát biểu rằng nếu p là số nguyên tố thì a^{p-1}\equiv 1 \pmod p với mọi số nguyên a thỏa gcd(a, p) = 1, trong đó gcd (x, y) là hàm tính ước chung lớn nhất của xy (nói cách khác ap nguyên tố cùng nhau). Định lý Fermat nhỏ được tổng quát hóa hai lần và tôi nghĩ đây là một trong những kết quả đẹp nhất của toán học.

*Đầu tiên Euler tổng quát hóa định lý Fermat và phát biểu rằng a^{\phi(n)}\equiv 1 \pmod n với mọi số nguyên na thỏa gcd(a, n) = 1, trong đó phi(n) là hàm totient của Euler, được định nghĩa là số các số nguyên dương nhỏ hơn hoặc bằng n và nguyên tố cùng nhau với n. Sự liên quan giữa Fermat với Euler là ở chỗ \phi(p) = p - 1 khi p là số nguyên tố.

Bài tập: chứng minh rằng nếu n = p * q, trong đó pq là hai số nguyên tố thì \phi(n) = \phi(p) * \phi(q) = (p - 1) * (q - 1).

*Nhưng kết quả đẹp nhất và tổng quát hóa nhất mà tôi biết là định lý Lagrange, một định lý này thoạt nhìn chẳng có dây mơ rễ má gì với Fermat và Euler cả, nhưng lại cho thấy một mối liên hệ rất bất ngờ giữa số học và đại số. Lagrange phát biểu rằng trong một nhóm hữu hạn G thì bậc (số phần tử) của mọi nhóm con của G đều chia hết cho bậc của G. Chúng ta sẽ quay lại lý thuyết nhóm hữu hạn trong phần nói về kiến trúc của bitcoin, tôi chỉ nói sơ qua rằng tập hợp các số trong khoảng [1, p-1] tạo thành một nhóm vòng hữu hạn với bậc là p-1 và do đó suy ra được định lý Fermat.

Quay trở lại chữ ký mù. Mặc dù chữ ký mù giúp Chaum đảm bảo được tính ẩn danh cũng như chống làm giả tiền, nhưng mô hình này có một lỗ hổng khác nghiêm trọng không kém: An có thể xài đồng tiền (X^\prime,Y^\prime) của mình nhiều lần! (X^\prime,Y^\prime) chỉ là một cặp số và không có gì có thể cản An sao chép cặp số này nhiều lần. Một cách đơn giản để giải quyết vấn đề này là ngân hàng lưu lại toàn bộ những đồng tiền đã được xài (những đồng tiền mà họ thấy ở bước 4) và mỗi khi Bình nhận được một đồng từ An, Bình sẽ hỏi ngân hàng xem đồng đó có được xài hay chưa trước khi chấp nhận giao dịch. Nghĩa là các giao dịch bây giờ không còn được xử lý offline như tiền mặt nữa, mà bắt buộc phải xử lý online, thông qua sự xác nhận của ngân hàng.

Chaum và các cộng sự giải quyết vấn đề này bằng cách “nhúng” danh tính của An vào đồng tiền. Nếu An không gian lận thì An vẫn hoàn toàn ẩn danh. Nhưng khi sử dụng lại một đồng tiền đã dùng rồi (double spending) thì ngân hàng hoàn toàn có thể truy ra danh tính của An và chứng minh rằng An đã gian lận. Từ những phát minh này Chaum thành lập công ty DigiCash vào năm 1988, với mục tiêu là biến tiền điện tử thành công cụ thanh toán cho tất cả các giao dịch điện tử.

Trong những năm đầu tiên DigiCash là một trong những công ty công nghệ thu hút sự chú ý của toàn thế giới, nhưng rồi công ty này bị phá sản và phải đóng cửa vào năm 1998. Có rất nhiều lý giải cho sự thất bại của DigiCash, nhưng có lẽ quan trọng nhất là tiền điện tử của Chaum phụ thuộc vào ngân hàng, nhưng lại không cạnh tranh được với thẻ tín dụng. Các ngân hàng thu được rất nhiều tiền từ thẻ tín dụng, nên họ cũng không muốn thay đổi làm gì. Về phía người tiêu dùng, mặc dù tiền điện tử giúp họ bảo vệ được sự riêng tư và không phải lo lắng về việc lộ số thẻ tín dụng, nhưng trong thực tế chẳng ai quan tâm đến ẩn danh (nhất là khi họ mua hàng hóa và gửi về tận nhà) và nếu như có giao dịch bất thường trên thẻ thì người tiêu dùng cũng không phải chịu trách nhiệm.

Nhìn chung thì mặc dù giải quyết được một loạt vấn đề quan trọng của tiền điện tử như tính ẩn danh, chống làm giả, chống sử dụng lại, có thể trao tay và thanh toán offline, nhưng tiền điện tử của Chaum kỳ thực chỉ là một hình thức thanh toán cho các loại tiền tệ có sẵn được quản lý bởi chính phủ và ngân hàng. Tiền của Chaum mới chỉ đáp ứng được chức năng là phương tiện trao đổi (medium of exchange), chứ không đảm bảo được chức năng lưu trữ giá trị (store of value) như các loại tiền tệ bình thường. Trong khi đó, bitcoin đảm bảo được cả hai chức năng cơ bản này. Chẳng những thế bitcoin còn loại bỏ hoàn toàn vai trò của chính phủ và ngân hàng trong tất cả các hoạt động liên quan đến loại tiền này, từ phát hành cho đến thanh toán, xác nhận giao dịch. Thực tế không một ai, không một tổ chức nào có thể kiểm soát và điều khiển bitcoin, như cách mà mỗi chính phủ kiểm soát và điều khiển đồng tiền của nước họ.

Bitcoin làm được điều này bằng cách sử dụng một công nghệ mà thời của Chaum chưa có.

(còn tiếp)

Chủ đề Chưa phân loại | 5 phản hồi »

Bài báo có một cái hình thú vị

Hãy xem trang 15 của bài báo này bọn tôi mới upload lên ArXiV.

Chủ đề Vui - Giải Trí | Tagged | Phản hồi »

Một bài toán thú vị

Con trai của một người bạn gửi một bài toán rất thú vị:

Có 2013 con bài. Trên mỗi con bài người ta viết 1 số bất kỳ. Tất cả 2013 số này khác nhau. Người ta úp các con bài xuống. 1 bước đi cho phép người chơi chỉ ra 10 quân bài và sẽ được thông báo 1 trong các số được viết trên các con bài này (không biết vị trí số đó). Tìm số t lớn nhất để đảm bảo tìm được t con bài mà có thể biết được số nào được viết trên từng con bài đó.

Chủ đề Combinatorics | Tagged , | 6 phản hồi »

Trận cờ thế kỷ

Lâu không chơi cờ. Hôm nọ xem một trận Liêm đánh thì đúng trận thua. Tình cờ tìm được “trận đấu thế kỷ” giữa Bobby Fischer (lúc đó mới 13 tuổi) và Donald Byrne (thắng giải Mỹ ở rộng nhiều lần, sắp thành đại kiện tướng). Fischer bỏ Hậu, công phá liên hoàn đẹp đến ná thở — vào sách giáo khoa!

Chủ đề Vui - Giải Trí | Tagged , | 3 phản hồi »

Thời con nít đã xa.

Nhiều khi ngồi nghĩ lại chuyện hồi xưa đi học, tui mới nhận ra có những thứ lúc trước rất thông dụng, ai ai cũng xài, đi đâu cũng thấy, mà bây giờ đã biến mất tăm mất tích. Chẳng hạn tập Ba Cây Thông, thuộc hàng “có thương hiệu” lúc bấy giờ. Lúc đó mà được một quyển tập Ba Cây Thông 100 trang thì cứ gọi là sướng rơn, mà phải chi giấy trắng tinh tươm gì cho cam, chỉ thuộc hàng trắng ngà thôi. Nói đến độ trắng của giấy thì tập giấy đen bây giờ cũng không thấy nữa. Các em bây giờ đi học được viết trên giấy trắng chói cả mắt, làm gì biết đến tập giấy đen thui thùi lùi, viết bút chì lên thì cứ gọi là căng mắt ra mà đọc. Đặc biệt là tập giấy đen thì thông thường chỉ là tập 50 trang, hồi đó nhiều vô số kể, bây giờ cũng không thấy. Bây giờ bét ra thì cũng 100 trang, thông dụng đã là 200 trang rồi. Hồi xưa còn có vụ tập xài năm trước không hết, năm sau lôi ra cắt bỏ những trang đã viết rồi đế xài tiếp, mà còn ít trang quá thì đem ra đóng lại thành cuốn nháp. Lúc tui đi học, chắc mẹ tui cũng biết tính con mình hay quậy, chuyên môn xé tập nên mỗi lần cho tập mới là mẹ tui ngồi ghi số vô góc từng trang, thằng con mà xé giấy ra làm bì là bà biết liền. Mà đã nói về tập là phải nói về tạp chí Liên Xô và lịch tờ treo tường, vì những thứ đó được tận thu để làm giấy bao tập, bao sách. Lịch tờ treo tường bây giờ vẫn còn, nhưng tạp chí Liên Xô, giấy trắng bóng, màu sắc rực rõ, thì bây giờ không còn nữa.

Bây giờ hình như người ta toàn xài bút bi, nên bút mực cũng đi luôn vô dĩ vãng, mà tui nói là nói bút mực chấm vô lọ mực đó nha. Cây bút mà có cái cán riêng, phải mua ngòi bút cắm vô, mỗi lần muốn viết là phải mở lọ mực ra chấm chấm đó. Bút mực chìm vô dĩ vãng, nên lọ mực cũng đi theo luôn. Lọ mực thì cũng đủ loại, thuỷ tinh có, sắt có, nhựa có, nhưng thông dụng nhất vẫn là loại nhựa, ở miệng còn có miếng nhựa như cái phễu để lỡ có làm nghiêng lọ thì mực cũng không chảy ra ngoài. Cái lọ nào cũng có cái nắp, trên nắp còn có cái khoen nhựa làm quai cầm nữa. Ngòi bút thì cũng đa dạng đủ kiểu, nhưng tui ấn tượng nhất là kiểu ngòi bầu, để mỗi lần chấm, mực trữ ở trong bầu nên viết được lâu hơn, không phải chấm tới chấm lui vô lọ mực. Cán bút thì ban đầu chỉ làm bằng gỗ, về sau có thêm cán nhựa, phần để cắm ngòi thì to to, rồi càng lên cao thì càng teo dần.
Rồi mực cũng lắm nhiêu khê. Anh nào lười thì mua mực pha sẵn, anh nào nghèo thì mua viên mực, rồi về pha nước vô xài. Nói vụ pha nước, nhiều khi bình sắp hết mực mà không có tiền, thế là cứ pha nước vô cho nó đầy lên, đến lúc viết ra thì chữ khi mờ khi tỏ. Bạn học sinh nào mà sang trọng hơn một chút thì được xài bút máy Hồng Hà, cũng là bút mực, nhưng mực được bơm vô một cái ống cao su trong thân bút, viết cả ngày không hết. Lâu lắm rồi tui không được thấy bút mực máy như vậy nữa, không biết có ai còn xài hay không. Bây giờ thì thông dụng là kiểu bút mực mà có sẵn ống mực luôn, mua về gắn vô xài, khỏi bơm bơm bóp bóp chi cho mất công. Mà đã nói đến chuyện xài bút mực thì không thể không nói đến giấy thấm. Bọn con gái kỹ lưỡng thì trong cặp lúc nào cũng sẵn vài tờ, viết ra chữ nào là thấm thấm chậm chậm chữ đó. Ẩu tả như mấy thằng con trai thì bỏ đại vô túi áo một cục phấn, lỡ viết lem mực thì lăn qua một phát là xong.
Đối với tui, bút mực nói chung chỉ có một công dụng là để làm hung khí, vì ngòi mực tuy đâm đau chỉ vài ba ngày là hết, nhưng chỉ cần một cái lắc cổ tay thôi, mực rảy lên áo là giặt muôn đời cũng không ra. Có người thi vị hoá, bảo rảy mực lên áo bạn gái làm quen. Lần nào tui rảy mực vô áo người ta, dù chỉ vô tình, cũng bị chửi cho tắt bếp. Cô giáo thì bảo viết bút mực để rèn chữ, tui chẳng biết rèn ở chỗ nào, vì tui viết bút nào chữ cũng xấu hoắc.

Một thứ nữa bây giờ cũng hết thấy là cùi thơm. Hồi xưa, ở trước cổng trường học mỗi lần ra về hay có mấy cái xe bán đồ ăn vặt. Tui nhớ xe bán cùi thơm lúc nào cũng thuộc hàng đẹp nhất, chắc chỉ thua xe bong bóng. Cả trăm cái cùi thơm cắm vô que, còn que thì cắm vô một bó rơm cao nghệu, nhìn y hệt như một cái cây mà mỗi cành chĩa ra đều là cùi thơm. Đứa nào đến hỏi mua, người bán cũng lấy một que xuống rồi xát muối ớt vô. Hồi đó tui cứ tưởng cùi thơm thì phải ăn với muối ớt như là một lẽ đương nhiên, về sau mới biết muối ớt xát vô cho nhiều là để sát trùng, chưa kể cùi thơm thời bấy giờ chua lè chua lét, ăn mà không có muối ớt thì chắc té tè ra quần. Mẹ tui căn dặn kỹ lắm, không cho ăn vì cùi thơm là thứ mất vệ sinh nhất trên đời, nhưng trong mấy thứ ăn vặt của con nít thì cùi thơm là thứ rẻ nhất, nên lâu lâu thèm tui cũng lén mua một que ăn đỡ ghiền.
Nói về đồ ăn vặt thì có một thứ bây giờ cũng không thấy nữa, đó là kem ống. Kem làm trong ống nhôm, tiết diện bằng cỡ ống nước, người bán có khi lấy ra để sẵn trong thùng đá. Đứa nào tới mua thì được chọn mùi, thường thì cũng vòng vòng mấy thứ đậu đỏ, đậu đen, sầu riêng, rồi tùy muốn mua bao nhiêu thì người bán cắt ra một khúc dài bấy nhiêu. Thứ kem này cũng phải có que để cắm. Que kem ống chỉ mảnh như cây tăm tre thôi, nên nhiều đứa cầm không khéo, kem rớt xuống đất, tiếc ngẩn tiếc ngơ. Kem que thì có que hoành tráng hơn, có điều cũng chỉ được vót ra từ tre, nhiều khi còn thấy cả dằm, cả mắt, chuyên được lũ học trò thu gom về làm que tính. Có đứa hôm trước cô giáo dặn phải đem que kem theo để học toán, hôm sau quên, thế là đi vòng vòng quanh sân trường lượm lặt cho đủ số. Nhưng khổ cái không có thời gian rửa lại nên vẫn còn sót kem dính trên que, đặt lên bàn nước chảy nhễu nhão, bọn con gái ngồi kế bên dạt ra xa cả thước.

Trò chơi sân trường bây giờ không biết còn lại những gì. Tui nghĩ đá cầu chắc vẫn còn thịnh hành, vì đến thằng em tui vẫn còn chơi, nhưng chọi cầu chắc là hết thấy. Chọi cầu thì được cái nam nữ chơi chung, chia làm hai phe. Cầu chọi trúng đứa nào thì đứa đó bị phe kia bắt làm tù bình, phải bị đứng tuốt ra đằng sau phe đối phương, phe nào bị bắt làm tù binh hết là thua. Nhưng nếu một phe câu được trái cầu vô “trại tù binh” mà có tên tù nào chụp được, rồi chọi trúng một đứa phe đối phương (tức là hạ được một thằng canh ngục đó) thì một tù binh được phóng thích. Vì có luật cứu bồ như vậy nên chọi cầu là cơ hội để tụi con trai lấy le, cố sống cố chết chụp cầu để cứu người trong mộng. Rồi chơi u, chơi cá sấu lên bờ, chơi keo, chơi cướp cờ, chơi tạt lon, trò nào cũng chạy mệt nghỉ. Riêng tụi con gái thì có trò banh đũa và nhảy dây, mà tui chỉ nhớ nhất là nhảy ba góc. Ở nhà tui toàn là chị họ, em gái họ, nên tui cũng phải chơi mấy thứ này. Banh đũa thì phải quét, đập, gõ, chẻ, từ hai đũa một cho đến cả bó mười đũa. Nhảy ba góc thì phải đạp, móc, đè, từ mức thấp dưới mắt cá lên cao cho đến đầu, rồi đầu 1 gang, đầu 2 gang.
Tụi con trai cũng chơi nhảy dây, nhưng mà là nhảy cao. Tui còn nhớ hồi cấp 1, mức dây số 4 là huyền thoại, trong trường không ai nhảy qua được. Đám bạn tui có thằng Cường với tui hay cạnh tranh nhau. Bữa đó, nhảy đến mức số 3 thì chỉ còn vài đứa qua được, lên đến mức 3 rưỡi thì còn có tui với nó. Đến lúc nâng dây lên mức 4 thì mấy đứa học trò khác đã bu đen bu đỏ xung quanh, thậm chí còn leo lên cầu thang nhìn xuống. Chắc nhờ được ủng hộ nhiệt tình quá mà tui với thằng Cường đều nhảy qua được mức 4. Còn một trò nữa mà chắc bây giờ cũng không còn, là trò chơi chọi thú. Mấy con thú làm bằng nhựa mà hình như thằng nào cũng thủ trong cặp ít nhất là vài con. Phổ biến nhất là con lạc đà, đến nỗi nó được tính như một đơn vị giá trị. Chẳng hạn Lý Tiểu Long nhỏ thì bằng hai con lạc đà, Lý Tiểu Long bự thì có khi lên đến 20 con lạc đà. Nếu tui nhớ không lầm thì Na Tra cũng tầm khoảng 10 lạc đà, Mã Tú Trinh đâu chừng 3 lạc đà. Tui chơi chọi thú không phải tốn đồng xu nào. Con lạc đà đầu tiên tui được cho, từ đó về sau gia tài thú nhựa của tui toàn nhờ ăn thua với đối thủ. Tui ăn thua đến khi còn 2 con lạc đà, 1 Na Tra và 1 Lý Tiểu Long bự thì nghỉ, vì lúc đó, tui chợt nhận ra mình đã lớn rồi, nên không thèm chơi trò của bọn con nít ranh nữa.

Bây giờ ngồi ghi lại chuyện ngày xưa, nếu sau này thằng con trai tui ôm cổ ba nó nói: “Ba kể chuyện cổ tích hay quá à!” hoặc “Ba ơi, chỉ cho con chơi mấy trò này đi!” thì cũng đáng công. Còn không thì cứ xem như là tạo cơ hội để cho các bác bụng béo tóc thưa, với các mợ đẫy đà phúc hậu đọc, xong gật gà gật gù mà nhớ lại một thời trẻ nít.

Chủ đề Vui - Giải Trí | 8 phản hồi »

Đọc sách “nhanh”

Bạn Thành hỏi:

Thầy tư vấn giúp em về cách đọc một quyển sách thế nào cho hiệu quả và nhanh nhất có thể?mình có nên đọc nhanh hay không?

Theo tôi thì tuỳ theo đọc sách để làm gì. Xem lại bài năm mức ngu dốt. Đọc để chuyển lên mức 2OI thì đọc nhanh, lươn lướt cũng được. Còn muốn để lên 1OI hoặc 0OI thì cần nhiều thời gian lắm.

Tôi tạm chia mục tiêu đọc sách thành ba phạm trù:

  • Cưỡi ngựa xem hoa. Đọc lươn lướt để biết là trên đời này có cái như vậy. Như thế thì nhanh chậm không quan trọng.
  • Hiểu. Ta phải làm thế nào mà ta có thể gần như là tự xây dựng lại nội dung quyển sách mà không cần tham khảo sách. Tất nhiên là không phải tất cả mọi chi tiết, nhưng phải nắm hoàn toàn cái sườn, có thể tự tin là mình giải thích lại nội dung quyển sách cho người khác một cách logic với một tư duy tự nhiên! Để làm được điều này, khi đọc sách toán ta nên tự chứng minh các định lý trước khi đọc chứng minh; khi đọc sách lập trình ta nên … lập trình chứ không phải đọc để biết cú pháp.
  • Chuyên gia. Ta tạo ra kiến thức mới cho nhân loại, có thể đóng góp một chương/đề mục vào quyển sách. Để đến trình độ này thì ta không nên đọc sách chay. Ta tìm cách giải quyết một vấn đề nào đó trong phạm vi đề tài của sách, và hiểu là vấn đề của mình khớp vào cái dòng chảy tri thức của sách như thế nào.

Những quyển sách đáng đọc không bao giờ có thể đọc một lần là hiểu.

Chủ đề Giáo dục | Tagged | 6 phản hồi »

Mickey Mouse ở Việt Nam

Chủ đề Lịch Sử | Tagged , | 4 phản hồi »

Định lý Gale-Ryser

1. Định lý Gale-Ryser

Định lý Gale-Ryser là một trong những định lý cổ điển của toán Tổ Hợp. Định lý này trả lời câu hỏi sau đây:

Cho trước hai vectors \mathbf r = (r_1,\dots, r_m)\mathbf c = (c_1,\dots,c_n) gồm các số nguyên dương. Có tồn tại một ma trận nhị phân \mathbf A = (a_{ij}) \in \{0,1\}^{m \times n} gồm m hàng và n cột, sao cho tổng hàng thứ i của \mathbf Ar_i và tổng cột thứ j của \mathbf Ac_j. Câu hỏi này tương đương với câu hỏi liệu có tồn tại đồ thị hai phần (bipartite graph) cho trước bậc của các đỉnh.

Đọc tiếp »

Chủ đề Combinatorics, Python, Thuật Toán | Tagged , | 6 phản hồi »

Học Thế Nào

Các bạn đóng góp ý kiến, thảo luận, và bài vở cho trang này của các bác NBC, VHV, PT, nhé!

Chủ đề Tin tức đó đây | Tagged , , , | Phản hồi »

“Không quản lý được về an ninh”

Trích từ đây:

[...]ông Vương Quang Khải, Phó Tổng Giám đốc Công ty VNG cũng cho rằng, các dịch vụ trong nước của VNG như Zing Mail, Zing Me… tuân theo rất nhiều chế tài của cơ quan quản lý trong khi các dịch vụ tương tự của nước ngoài như Yahoo Mail, Gmail, Facebook… thì không gặp phải bất cứ chế tài quản lý nào cả. Từ đó dẫn đến việc người dùng sẽ thích và sử dụng các dịch vụ nước ngoài vì không bị quản lý. VNG hi vọng thời gian tới sẽ có quy định để các doanh nghiệp trong và ngoài nước cùng “chơi” theo một luật để giúp CNTT Việt Nam phát triển. “Nếu cơ quan quản lý tiếp tục quản lý doanh nghiệp nội và ngoại như trên môi trường web thì VNG lo ngại chúng ta sẽ lại thua tiếp một lần nữa trên thị trường di động (mobile), giống như với thị trường mạng xã hội, máy tìm kiếm, email… dẫn đến thất thu về thuế và không quản lý được về an ninh”, ông Khải nhấn mạnh.

Quản lý an ninh là làm gì? Khoản 4, Điều 55 của Dự thảo nghị định quản lý Internet có quy định trách nhiệm của những công ty VNG như thế này (tôi in đậm những chỗ bên dưới, văn bản góc không có):

Điều 55. Trách nhiệm bảo đảm an ninh quốc gia, trật tự an toàn xã hội và phòng chống tội phạm trên mạng

4. Trách nhiệm của doanh nghiệp cung cấp dịch vụ Internet, viễn thông và nội dung thông tin trên mạng.

a. Triển khai các giải pháp, trang thiết bị kỹ thuật theo quy định của Bộ Công an để lưu trữ thông tin đưa vào, truyền đi trên mạng; ngăn chặn việc truy cập, truyền đưa thông tin có nội dung vi phạm Điều 5 của Nghị định này.

b. Xây dựng, ban hành quy định vận hành, khai thác, sử dụng dịch vụ Internet và nội dung thông tin trên mạng, Tổ chức việc đăng ký, quản lý và sử dụng thông tin cá nhân trên mạng theo quy định của Bộ Công an. Tuyên truyền, hướng dẫn, kiểm tra việc thực hiện đối với các đại lý Internet, người sử dụng dịch vụ, cán bộ, nhân viên trong nội bộ doanh nghiệp.

c. Cung cấp thông tin, phối hợp với đơn vị chức năng của Bộ Công an, các cơ quan Nhà nước có thẩm quyền thực hiện việc quản lý, kiểm tra, giám sát, phát hiện, ngăn chặn và xử lý các hành vi lợi dụng Internet, nội dung thông tin trên mạng vào hoạt động xâm phạm an ninh quốc gia và trật tự an toàn xã hội.

d. Ngừng ngay việc cung cấp dịch vụ Internet và thông tin trên mạng đối với các chủ thể lợi dụng các dịch vụ này để hoạt động chống lại Nhà nước Cộng hoà Xã hội chủ nghĩa Việt Nam, gây phương hại đến an ninh quốc gia khi có yêu cầu của cơ quan quản lý nhà nước có thẩm quyền.

e. Bố trí mặt bằng, điểm truy nhập mạng, các cổng kết nối, giao diện kết nối tại các điểm kết nối Internet quan trọng và những điều kiện kỹ thuật cần thiết cho các đơn vị chức năng thuộc Bộ Công an thực hiện nhiệm vụ bảo vệ an ninh quốc gia trong hoạt động Internet.

g. Phối hợp với cơ quan chức năng của Bộ Công an triển khai các biện pháp bảo đảm an ninh quốc gia, trật tự an toàn xã hội và phòng chống tội phạm trên mạng trước khi chính thức cung cấp dịch vụ. Thực hiện chế độ báo cáo đột xuất, định kỳ, cung cấp các thông tin cần thiết theo quy định của Bộ Công an.

h. Chịu trách nhiệm hướng dẫn đại lý Internet, điểm cung cấp dịch vụ trò chơi trực tuyến công cộng của doanh nghiệp thực hiện các quy định về bảo đảm an ninh quốc gia, trật tự an toàn xã hội và phòng chống tội phạm trên mạng của Bộ Công an trong hoạt động Internet và nội dung thông tin trên mạng.

i. Chịu sự thanh tra, kiểm tra việc chấp hành các quy định của pháp luật về bảo đảm an ninh quốc gia, trật tự an toàn xã hội và phòng chống tội phạm trên mạng của cơ quan quản lý nhà nước có thẩm quyền.

Như vậy VNG có đáng tin để chúng ta trao gửi thông tin cá nhân không? Câu trả lời của cá nhân tôi là không. Thật ra không chỉ riêng VNG mà tất cả các công ty Việt Nam đều phải thực hiện các điểm đã dẫn ở trên. Dẫu vậy tôi thất vọng khi VNG dùng lá bài “quản lý an ninh” để vận động chính quyền đưa ra chính sách có lợi cho họ.

Từ chỗ bị ép buộc, VNG bây giờ đã sỗ sàng gợi ý. Đây là một bước đi rất dài, chỉ tiếc là đi thụt lùi. Bao giờ thì ra được thế giới?

Chủ đề Chưa phân loại | Tagged | 2 phản hồi »

Phân tích khảo sát góp ý dự thảo Hiến Pháp bằng Bổ Đề Johnson-Lindenstrauss

Các bác bên trang Cùng Viết Hiến Pháp vừa cho đăng bài phân tích kết quả khảo sát về bản dự thảo Hiến Pháp 2013. Phương pháp chính được dùng là MDS (đại khái PCA, tổng quát hơn xíu). Các bạn có thể nhận ra tinh thần của MDS mô tả trong bản phân tích trong bài đã viết về trị đặc trưng và vector đặc trưng.

Trong bản phân tích khảo sát Hiến Pháp thì cỡ khoảng {n=4000} điểm trong không gian {d = 12} chiều được chiếu xuống không gian {k = 2} chiều sao cho khoảng cách giữa các cặp ý kiến vẫn gần như là được bảo toàn. Ngoài ý nghĩa rõ ràng về mặt hiển thị dữ liệu một cách trực quan, giảm số chiều là một thành phần cực kỳ quan trọng không thể thiếu của các phân tích thống kê hiện đại. Bài Dimension Reduction: A Guided Tour của Christopher Burges (MSR) là một tham khảo nhập môn rất tốt! (Đề mục 4.2 nói về MDS.)

Một cách giảm số chiều là dùng (các biến thể của) bổ đề Johnson-Lindenstrauss, một bổ đề rất quan trọng trong thống kê, tính toán hình học, cơ sở dữ liệu, v.v. Có rất nhiều cách chứng minh bổ đề này. Trong bài này ta thảo luận chứng minh của DasGupta và Gupta, phần nào để minh hoạ thêm về cái mẹo của Bernstein. Trước hết ta phát biểu một cách đại khái bổ đề JL.

Bổ Đề 1 (Bổ đề JL — phiên bản hoa tay múa chân) Cho một tập {S} gồm {n} điểm trong không gian {\mathbb R^d}, thì tồn tại một ánh xạ {f: \mathbb R^d \rightarrow \mathbb R^k} với {k} “nhỏ” sao cho khoảng cách giữa hai điểm bất kỳ {\mathbf x}{\mathbf y} trong {S} gần như là bằng với khoảng cách giữa hai ảnh {f(\mathbf x)} and {f(\mathbf y)} của chúng qua ánh xạ {f}. Ánh xạ thoả tính chất này thường được gọi là biến đổi Johnson-Lindenstrauss.

Đọc tiếp »

Chủ đề Xác suất & thống kê | Tagged | 21 phản hồi »

Giải thưởng Turing 2012

Giải thưởng Turing (được ví như giải Nobel của ngành Khoa học máy tính) lần này sẽ được trao cho Shafi Goldwasser và Silvio Micali. Các bạn có thể xem thông báo chính thức “Goldwasser, Micali Receive ACM Turing Award for Advances in Cryptography” tại đây.

Hai đóng góp nổi bật của Goldwasser và Micali là về mật mã xác suất và chứng minh tương tác/chứng minh không để lộ tri thức. Loạt bài PCP của anh Hưng liên quan mật thiết tới chứng minh tương tác. Ngoài ra, một giới thiệu vui về  chứng minh không để lộ tri thức các bạn có thể xem bài này.

Dưới đây mình sẽ bàn về bài báo Mật mã xác suất (Probabilistic Encryption). Bài báo này cùng lúc đưa vào : một cách nhìn mới về việc mã hoá ; những khái niệm nền tảng về an toàn ; và một phương pháp chứng minh tính an toàn của các hệ mã.

Đọc tiếp »

Chủ đề Bảo mật và mật mã học, Lý thuyết mã hóa, Lý thuyết tính toán | Tagged , , | 1 phản hồi »

Những toilet không cửa hay là tại sao phải biết thiết kế

Tôi rất thích đoạn phim này. Có lẽ là do tôi đồng cảm với nhân vật. Không hẳn là tôi bị hội chứng sợ dơ, nhưng tôi rất ngán các nhà vệ sinh có cửa nắm thế này và hơn một lần tôi cũng đứng chờ có người mở cửa vào để đi ra mà không phải chạm tay :-).

Tôi bắt đầu chú ý đến thiết kế của các toilet công cộng từ cách đây vài năm. Tôi thấy thiết kế toilet không phải chuyện đơn giản. Có rất nhiều vấn đề, đôi khi rất nhỏ thôi, mà nếu làm không tốt sẽ có thể gây ảnh hưởng đến sức khỏe của nhiều người.

Đọc tiếp »

Chủ đề Chưa phân loại | Tagged | 2 phản hồi »