µÇ¼ | Ê×Ò³ -> »ªÐÂÏÊÊ -> ÐÄÇéÏÐÁÄ | Çл»µ½£º´«Í³°æ / sForum | Ê÷ÐÎÁбí
ÉÙÒ»µã˺X£¬¶àÒ»µã»¥ÏàѧϰÌÖÂÛ°É£¬ÎÒÊÇÀ´Çë½ÌµÄ
<<ʼҳ¡¡ <ÉÏÒ³ ¡¡ 1¡¡ 2¡¡ 3¡¡ 4¡¡ [5]¡¡ Ä©Ò³>>¡¡

(ÒýÓà ·²ÈË:¹þ¹þ¹þ ÎÒ¸Õ¸ÕÔÚ΢ÐÅÊÕµ½¼¸±é)ͬȥ¸Ð¾õÎÒÒ»Ìì¿ÉÒÔ¸ÏÈý³¡£¬ÔçÖÐÍí£¬ºÃÐÒ¸£ ¡¡[±¾ÎÄ·¢ËÍ×Ô»ªÐÂÊÖ»úWap°æ] [½ô¸úÌñµ­ (6-12 20:22, Long long ago)] [ ´«Í³°æ | sForum ][µÇ¼ºó»Ø¸´]81Â¥

(ÒýÓà Serenityblue:»ù±¾ÉÏ´óµÄ¿Æ¼¼¹«Ë¾¶¼ÔÚÍÆÕâ¸öÇø¿éÁ´IBMÓëÂíÊ¿»ùºÏ×ʵĹ«Ë¾Ò²ÓÐÁË¡£×¨ÃÅ×öÕâ¸ö¡£ мÓÆµĺ£¹Ø, PSA, SATS, IMDA¶¼ÓÐÉî¶È²ÎÓëÇø¿éÁ´ÕâЩÏ...)À¶ÀÏʦÄãÊDz»ÊǾ­³£´©Ô½À´´©Ô½È¥Çø¿éÁ´Ð¡°×ŶÊÇ´ó°×Çó´ø£¬Çó½â»ó ¡¡[±¾ÎÄ·¢ËÍ×Ô»ªÐÂÊÖ»úWap°æ] [Ô¹âÏÂÌøÎè (6-12 20:28, Long long ago)] [ ´«Í³°æ | sForum ][µÇ¼ºó»Ø¸´]82Â¥

(ÒýÓà kcowen:½ñÌìûÈË·¢Ðиö¼ÍÄî±ÒʲôµÄÌؽð±Ò)ÃÀ¹úÓÐ×¼±¸°¡Ç°Ò»Õó»¹½µ¼Û´ÙÏú£¬ºÇºÇ£¬¼òÖ±¶ùÏ· ¡¡[±¾ÎÄ·¢ËÍ×Ô»ªÐÂiOS APP] [ЦÌì (6-12 20:53, Long long ago)] [ ´«Í³°æ | sForum ][µÇ¼ºó»Ø¸´]83Â¥

(ÒýÓà ·²ÈË:¹þ¹þ¹þ ÎÒ¸Õ¸ÕÔÚ΢ÐÅÊÕµ½¼¸±é)ÎÒÔõûÓа¡¸Ð½Å±»ÆçÊÓÁË
ÎÒҪͶËߣ¬ÎÒ²»Âú¡£¡£¡£
¡¡[±¾ÎÄ·¢ËÍ×Ô»ªÐÂiOS APP] [ЦÌì (6-12 21:00, Long long ago)] [ ´«Í³°æ | sForum ][µÇ¼ºó»Ø¸´]84Â¥

(ÒýÓà Ô¹âÏÂÌøÎè:À¶ÀÏʦÄãÊDz»ÊǾ­³£´©Ô½À´´©Ô½È¥&#128512;Çø¿éÁ´Ð¡°×ŶÊÇ´ó°×Çó´ø£¬Çó½â»ó)ÎÒ¶ÔÓÚÇø¿éÁ´Ò²ÊÇÐÂÊÖÍƶ¯µÄ10¼¸¸ö¼¼ÊõÖÐ, û¾õµÃÇø¿éÁ´¼¼ÊõÓÐɶ³öÖڵġ£

¶øÇÒ, Õâ¸ö¼¼Êõ´ó¹æÄ£ÆÕ¼°Ã²ËÆÐèÒª°ÙÄêµÄ¡£

¾õµÃÄ¿Ç°µÄÍƶ¯ÊDZØÐëµÄ, µ«ÐèÒªÔÚÁ¿×Ó¼ÆËã»ú½øÈëʵ¼ÊÓ¦ÓÃÖ®ºó,Çø¿éÁ´Íê³É°²È«·½Ê½µÄ½ø»¯, ²ÅÄÜÕæÕýÔÚÉç»áÕ¼¾ÝÖ÷Á÷¡£

Á¿×Ó¼ÆËã»úÖ»ÓÐÔÚÓë³ÌÐòÔ±µÄÖð²½ÏûʧÒÔ¼°"¹Ì¶¨Âß¼­À๤×÷"µÄÖð²½Ïûʧºó(¹À¼Æ´óÔ¼20-30Äêºó), ЭÖúÍƶ¯AI±äµÃ³ÉÊì(´óÔ¼30-80Äê),ÄÇʱ, Çø¿éÁ´²Å»á³ÉΪÉç»áµÄÖ÷Á÷(´óÔ¼°ÙÄêºóÁË)¡£

ÕâÊÇÒòΪÁ¿×Ó¼ÆËã»úµÄÓ¦Óý«disruptµôÏÖÓеÄÈ«²¿µÄÇø¿éÁ´¼¼ÊõºÍ·½°¸¡£



¡¡[±¾ÎÄ·¢ËÍ×Ô»ªÐÂÊÖ»úWap°æ] [Serenityblue (6-12 21:18, Long long ago)] [ ´«Í³°æ | sForum ][µÇ¼ºó»Ø¸´]85Â¥

(ÒýÓà ·²ÈË:ÎÒ¸úÄã¸Ð¾õÏà·´£ºÌ«lowºÅ³ÆÊÀ½çXXX´ó»á£¬½á¹ûÊÇÒ»°ïÖйúºöÓÆÔÚ×ÔàË£¬ÎÒµ½Â¥Ï¿´¼û¾ÙÅƵÄСµÜµÜСÃÃÃþٵÄָʾÅÆÉÏÒ»¸öÓ¢ÎÄ×Öĸ¶¼Ã»ÓÐÒ²ÊÇ...)°¥ÎÒ¿´À´¸Ã¼ôÍ··¢ÁË£¬Í··¢Ì«³¤ÁË£¬ºÃºöÓÆ£¬¶ªÁ³Ñ½ ¡¡[±¾ÎÄ·¢ËÍ×Ô»ªÐÂiOS APP] [xiaoyadan (6-12 21:55, Long long ago)] [ ´«Í³°æ | sForum ][µÇ¼ºó»Ø¸´]86Â¥

Çø¿éÁ´·å»áÒâÒå²»´óÈ«ÊÇ·¢±ÒÔÞÖúµÄ£¬¸Ð¾õÏÖÔÚÒѾ­Ã»ÓÐʲôÕæÕýµÄÄÚÈÝÁË¡£¡£¡£ ¡¡[±¾ÎÄ·¢ËÍ×Ô»ªÐÂiOS APP] [hdhxt (6-13 1:09, Long long ago)] [ ´«Í³°æ | sForum ][µÇ¼ºó»Ø¸´]87Â¥

(ÒýÓà Serenityblue:ÎÒÇëÄã°É¡£×÷Ϊ½»»», µ½Ê±Äã¸ø¿ÆÆÕһϽñºó5-10ÄêµÄÇøÓòÕþÖκÍÈ«ÇòÕþÖÎ×ßÏòÇ÷ÊÆɶµÄ¡£ ÎÒÓкܶ಻Ã÷°×µÄÎÊÌâ¡£ 061217 )ÎÒû±¾ÊÂ˵Õâô´óµÄÊéßÕ¿´¹Ù¿ÖҪʧÍû ¡¡[±¾ÎÄ·¢ËÍ×Ô»ªÐÂÊÖ»úWap°æ] [¸ñ¸ñÎ×ÆÅ (6-13 3:56, Long long ago)] [ ´«Í³°æ | sForum ][µÇ¼ºó»Ø¸´]88Â¥

(ÒýÓà Serenityblue:ÎÒ¶ÔÓÚÇø¿éÁ´Ò²ÊÇÐÂÊÖÍƶ¯µÄ10¼¸¸ö¼¼ÊõÖÐ, û¾õµÃÇø¿éÁ´¼¼ÊõÓÐɶ³öÖڵġ£ ¶øÇÒ, Õâ¸ö¼¼Êõ´ó¹æÄ£ÆÕ¼°Ã²ËÆÐèÒª°ÙÄêµÄ¡£ ¾õµÃÄ¿Ç°µÄÍƶ¯ÊÇ...)Ëæ»úÓ¦±äÐÔÈçÉñ°¡
ºÃ£¬Óдó½«Ö®·ç
¡¡[±¾ÎÄ·¢ËÍ×Ô»ªÐÂiOS APP] [ЦÌì (6-13 7:48, Long long ago)] [ ´«Í³°æ | sForum ][µÇ¼ºó»Ø¸´]89Â¥

Ò»¸ö»ù±¾µÄÇø¿éÁ´¿ò¼ÜÔ´Â룬ÏëÓõÄÄÃÈ¥Ôì±Ò°É£¡public struct Block
{
/// <summary>
/// Çø¿éλÖÃ
/// </summary>
public int Index { get; set; }
/// <summary>
/// Çø¿éÉú³Éʱ¼ä´Á
/// </summary>
public string TimeStamp { get; set; }
/// <summary>
/// ÐÄÂÊÊýÖµ
/// </summary>
public int BPM { get; set; }
/// <summary>
/// Çø¿é SHA-256 É¢ÁÐÖµ
/// </summary>
public string Hash { get; set; }
/// <summary>
/// Ç°Ò»¸öÇø¿é SHA-256 É¢ÁÐÖµ
/// </summary>
public string PrevHash { get; set; }
}

public static class BlockGenerator
{
public static List<Block> _blockChain = new List<Block>();
}


/// <summary>
/// ¼ÆËãÇø¿é HASH Öµ
/// </summary>
/// <param name="block">Çø¿éʵÀý</param>
/// <returns>¼ÆËãÍê³ÉµÄÇø¿éÉ¢ÁÐÖµ</returns>
public static string CalculateHash(Block block)
{
string calculationStr = $"{block.Index}{block.TimeStamp}{block.BPM}{block.PrevHash}";

SHA256 sha256Generator = SHA256.Create();
byte[] sha256HashBytes = sha256Generator.ComputeHash(Encoding.UTF8.GetBytes(calculationStr));

StringBuilder sha256StrBuilder = new StringBuilder();
foreach (byte @byte in sha256HashBytes)
{
sha256StrBuilder.Append(@byte.ToString("x2"));
}

return sha256StrBuilder.ToString();
}

/// <summary>
/// Éú³ÉеÄÇø¿é
/// </summary>
/// <param name="oldBlock">¾ÉµÄÇø¿éÊý¾Ý</param>
/// <param name="BPM">ÐÄÂÊ</param>
/// <returns>еÄÇø¿é</returns>
public static Block GenerateBlock(Block oldBlock, int BPM)
{
Block newBlock = new Block()
{
Index = oldBlock.Index + 1,
TimeStamp = CalculateCurrentTimeUTC(),
BPM = BPM,
PrevHash = oldBlock.Hash
};

newBlock.Hash = CalculateHash(newBlock);
return newBlock;
}

/// <summary>
/// ¼ÆË㵱ǰʱ¼äµÄ UTC ±íʾ¸ñʽ
/// </summary>
/// <returns>UTC ʱ¼ä×Ö·û´®</returns>
public static string CalculateCurrentTimeUTC()
{
DateTime startTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);
DateTime nowTime = DateTime.Now;

long unixTime = (long)Math.Round((nowTime - startTime).TotalMilliseconds, MidpointRounding.AwayFromZero);
return unixTime.ToString();
}


/// <summary>
/// ¼ìÑéÇø¿éÊÇ·ñÓÐЧ
/// </summary>
/// <param name="newBlock">ÐÂÉú³ÉµÄÇø¿éÊý¾Ý</param>
/// <param name="oldBlock">¾ÉµÄÇø¿éÊý¾Ý</param>
/// <returns>ÓÐЧ·µ»Ø TRUE£¬ÎÞЧ·µ»Ø FALSE</returns>
public static bool IsBlockValid(Block newBlock, Block oldBlock)
{
if (oldBlock.Index + 1 != newBlock.Index) return false;
if (oldBlock.Hash != newBlock.PrevHash) return false;
if (CalculateHash(newBlock) != newBlock.Hash) return false;

return true;
}

/// <summary>
/// Èç¹ûеÄÇø¿éÁ´±Èµ±Ç°Çø¿éÁ´¸üУ¬ÔòÇл»µ±Ç°Çø¿éÁ´Îª×îÐÂÇø¿éÁ´
/// </summary>
/// <param name="newBlockChain">еÄÇø¿éÁ´</param>
public static void SwitchChain(List<Block> newBlockChain)
{
if (newBlockChain.Count > _blockChain.Count)
{
_blockChain = newBlockChain;
}
}


ÏÖÔÚÕû¸öÇø¿éÁ´µÄ»ù±¾²Ù×÷ÒѾ­Íê³É£¬ÏÖÔÚÎÒÃÇÐèÒªÈÃËûÔËתÆðÀ´£¬ÎÒÃÇÀ´µ½ StartUp µ±ÖУ¬Ìí¼ÓÁ½¸öеķÓÉ£º
app.Map("/BlockChain", _ =>
{
_.Run(async context =>
{
if (context.Request.Method == "POST")
{
// Ôö¼ÓÇø¿éÁ´
if (BlockGenerator._blockChain.Count == 0)
{
Block firstBlock = new Block()
{
Index = 0,
TimeStamp = BlockGenerator.CalculateCurrentTimeUTC(),
BPM = 0,
Hash = string.Empty,
PrevHash = string.Empty
};

BlockGenerator._blockChain.Add(firstBlock);

await context.Response.WriteAsync(JsonConvert.SerializeObject(firstBlock));
}
else
{
int.TryParse(context.Request.Form["BPM"][0], out int bpm);

Block oldBlock = BlockGenerator._blockChain.Last();
Block newBlock = BlockGenerator.GenerateBlock(oldBlock, bpm);

if (BlockGenerator.IsBlockValid(newBlock, oldBlock))
{
List<Block> newBlockChain = new List<Block>();
foreach (var block in BlockGenerator._blockChain)
{
newBlockChain.Add(block);
}

newBlockChain.Add(newBlock);
BlockGenerator.SwitchChain(newBlockChain);
}

await context.Response.WriteAsync(JsonConvert.SerializeObject(newBlock));
}
}
});
});

app.Map("/BlockChains", _ =>
{
_.Run(async context =>
{
await context.Response.WriteAsync(JsonConvert.SerializeObject(BlockGenerator._blockChain));
});
});
[seanwen (6-13 12:46, Long long ago)] [ ´«Í³°æ | sForum ][µÇ¼ºó»Ø¸´]90Â¥

(ÒýÓà iND:¶¼±»ºöÓÆÁË°É£¿ÏÖÔÚÐû³Æ×Ô¼º¸ãÇø¿éÁ´µÄ£¬ÄĸöÊÇÈ¥ÖÐÐÄ»¯µÄ£¿¶¼ÊÇÍйÜÔÚij¸ö·þÎñÉÌÉÏ£¬¾ÍÊÇÅûÁËÇø¿éÁ´ÍâÒµĴ«Í³Ó¦Óá£ÕæÕýÈ¥ÖÐÐÄ»¯µÄÇø¿é...)¶¥Ò»¸ö£¬Ò»Õë¼ûѪ°¡£¡ÉñÂí¡°È¥ÖÐÐÄ»¯¡°ÎÒ²»¶®£¬¿ÉÊÇʲôÐÅÏ¢´æÔÚÄÇÀï¡¢ºÚ¿Í¸ã²»×ß¾ÍÓеãÐþºõÁË°É£¿ËµµÄºÃÏñÕæµÄÒ»Ñù¡£¡£¡£[yaoyao8 (6-13 17:23, Long long ago)] [ ´«Í³°æ | sForum ][µÇ¼ºó»Ø¸´]91Â¥

(ÒýÓà ·²ÈË:Êǵģ¬Óöµ½ºÃ¼¸¸öÊìÈËÔ­À´²»Öª²»¾õ¼äºÃ¶àÈËÈëȦ)¸Ï½ôËÑÁËÒ»ÏÂÕâ¸ö·å»á»¹ºÃû¿´µ½¶ÓÓÑҪȥµÄ¹«Ë¾£¬²»È»¿ÉÒÔÖ±½Ó¾ö¶¨²»È¥ÁË ¡¡[±¾ÎÄ·¢ËÍ×Ô»ªÐÂiOS APP] [HelloThere (6-13 19:39, Long long ago)] [ ´«Í³°æ | sForum ][µÇ¼ºó»Ø¸´]92Â¥

(ÒýÓà yaoyao8:¶¥Ò»¸ö£¬Ò»Õë¼ûѪ°¡£¡ÉñÂí¡°È¥ÖÐÐÄ»¯¡°ÎÒ²»¶®£¬¿ÉÊÇʲôÐÅÏ¢´æÔÚÄÇÀï¡¢ºÚ¿Í¸ã²»×ß¾ÍÓеãÐþºõÁË°É£¿ËµµÄºÃÏñÕæµÄÒ»Ñù¡£¡£¡£)È¥ÖÐÐÄ»¯²»ÄÑÀí½âÆ©ÈçÖ§¸¶±¦µÈ, ¶ÔÓÚ´«Í³µÄÒÔÒøÐÐΪÖÐÐĵĽðÈÚģʽ¾ÍÊÇÒ»ÖÖÈ¥ÖÐÐÄ»¯¡£µ±È», ÏÖÔÚÖ§¸¶±¦ÒѾ­±»ÒøÐÐÊÕ±àÁË¡£
Æ©ÈçÄãÔçÁµ, ͵͵µÝÖ½Ìõ¸øÐÄÒǵÄTA, ÈƹýÁ˸¸Ä¸ÒÔ¼°ÀÏʦ, Ҳ˵һÖÖÈ¥ÖÐÐÄ»¯¡£µ±È», »éÒöʹµÃÄãÖØÐÂÖÐÐÄ»¯ÁË¡£
Æ©ÈçÍøÉÏʹÓÃÐÅÓÿ¨¸¶¿î, Ä¿Ç°ÓÐvisa, mastercard,jcb, amex, ÒøÁªµÈ¡£ÉèÏëÒ»ÏÂ, ¼ÙÉèÒÔÉÏvisaµÈ¸÷×Ô²ð·Ö³É10000¸ö·Ö¹«Ë¾,ÄÇôÄã¾ÍÓÐ50000ÖÖÐÅÓÿ¨, ¼ÌÐø·Ö²ð,visa¸÷×Ô·Ö²ð³É1ÒÚ¸ö·Ö¹«Ë¾, Äã¾ÍÓÐ5ÒÚÖÖÐÅÓÿ¨¡£ÏÖÔÚÄǾͷ³ÁË, Ì«¶àÁË!!
µ«ÊǼÌÐø·Ö²ð, Ö±µ½Ã¿¸öµØÇòÈ˶¼ÓÐÒ»¸ö×Ô¼ºµÄÐÅÓÿ¨¹«Ë¾, ÄÇôÄã¾Í˵ÁË, Õâ¿ÉÕ¦°ì? ͬÑù, ÆäËûµÄ·þÎñ: ÒøÐÐ, ±£ÏÕ,ÔËÊä, ÏúÊÛµÈ, Ò²ÊÇÈç´Ë¡£

ÄÇôÄã˵, ÕâÊDz»¿ÉÄܵġ£Ã»ÓбØÒª¡£Âé·³¡£really?
ÏëÒ»ÏÂ, ÎÒÃÇÿ¸öÈ˶¼ÊÇΨһµÄ, ÎÒÃÇÒÀÀµÖÐÐÄ»¯·þÎñ, ÊÇÒòΪÎÒÃǵÄÉç»á²»¹»·¢´ï,µ±ÎÒÃǵÄÉç»á×ã¹»·¢´ï½ø²½, ËùÓеÄÖÐÐÄ»¯·þÎñ¾ÍÒòΪÆäÊÇmiddleman¶øʧȥÁËÉú´æ¼ÛÖµ¡£

ËùÒÔ, ÓÉ´Ë¿´³ö, Ö»Óе±AIÄܹ»Ð­ÖúÎÒÃÇ×öÔ½À´Ô½¶àµÄmiddlemanµÄ¹¤×÷ºÍÉÌҵʱ, Çø¿éÁ´µÄÉç»áÔËתÒÔ¼°ÉÌҵģʽ²Å»á³ÉΪÖ÷Á÷¡£ÕâÐèÒªÊý°ÙÄêµÄʱ¼ä¡£


Çø¿éÁ´µÄ³ÉÊìÒÀÀµÓÚAIµÄ³ÉÊì,
AIµÄ³ÉÊìÒÀÀµÓÚÁ¿×Ó¼ÆËã»úµÄ³ÉÊì¡£

»Øµ½ÑÛÇ°, Àû, ´ÙʹÁË»¥ÁªÍøÓÉÅÝÄ­Öð½¥³ÉΪÁËÉú»îµÄÒ»²¿·Ö,
Ò²½«´ÙʹÇø¿éÁ´µÄÑÝ»¯µ½³ÉÊì¡£

Ä¿Ç°µÄÉÌÒµºÍ½ðÈÚµÄÇø¿éÁ´ÈȽ«ÒÔÅÝÄ­, ³ÉÊì, ÔÙÅÝÄ­, ÔÙ³ÉÊìµØ·½Ê½ÂÝÐýʽÑÝ»¯¡£ÑÓÐøÊý°ÙÄê¡£

Èçͬ»¥ÁªÍøµÄ¾ÖÓòÍøÒ»Ñù, ˽ÓеÄ, ÁªÃ˵ÄÇø¿éÁ´½«ÊǺÏÀíµÄ·¢Õ¹³£Ì¬¡£

Èç¹ûÄã×¢Òâµ½ÁËIoT, 5G, automobile, machine learning, deep learning, natural language processing, etc, ÄãÒ²Ðí»áÂýÂý¾õ²ìµ½, ÕâЩֻÊÇÒ»¸öħ·½µÄ²»Í¬µÄ¿é, Ò»ÅÌ´óÆåÖеIJ»Í¬µÄ×Ó¡£Õâ¸ö, ¾ÍÊǼܹ¹¡£
ÖÁÓÚÊÇË­ÔÚÉè¼ÆÕâ¸ö¼Ü¹¹, ²»Í¬µÄ½âÊͺܶࡣÆäʵ, Ö»ÓÐÒ»¸ö, Time.

It's Time who is THE architect.








¡¡[±¾ÎÄ·¢ËÍ×Ô»ªÐÂÊÖ»úWap°æ] [Serenityblue (6-13 21:08, Long long ago)] [ ´«Í³°æ | sForum ][µÇ¼ºó»Ø¸´]93Â¥

(ÒýÓà HelloThere:¸Ï½ôËÑÁËÒ»ÏÂÕâ¸ö·å»á»¹ºÃû¿´µ½¶ÓÓÑҪȥµÄ¹«Ë¾£¬²»È»¿ÉÒÔÖ±½Ó¾ö¶¨²»È¥ÁË)Ò²²»Ò»¶¨À² ÎÒÖ»ÊÇ˵Ö÷°ìÈËÄDZ߹«Ë¾»¹ÊǺܶàµÄ£¬²»¼ûµÃÿ¸ö¶¼ÊǺöÓÆ ¡¡[±¾ÎÄ·¢ËÍ×Ô»ªÐÂiOS APP] [·²ÈË (6-13 21:33, Long long ago)] [ ´«Í³°æ | sForum ][µÇ¼ºó»Ø¸´]94Â¥


<<ʼҳ¡¡ <ÉÏÒ³ ¡¡ 1¡¡ 2¡¡ 3¡¡ 4¡¡ [5]¡¡ Ä©Ò³>>¡¡
µÇ¼ | Ê×Ò³ -> »ªÐÂÏÊÊ -> ÐÄÇéÏÐÁÄ | [ˢб¾Ò³] | Çл»µ½£º´«Í³°æ / sForum